bool GameScene::init() { if( !CCLayer::init() ) return false; #define KEY_MAP(name) EventKeyboard::KeyCode::KEY_##name mKeyMap[KEY_MAP(LEFT_SHIFT)] = Key::Player1_Scratch; mKeyMap[KEY_MAP(Z)] = Key::Player1_1; mKeyMap[KEY_MAP(S)] = Key::Player1_2; mKeyMap[KEY_MAP(X)] = Key::Player1_3; mKeyMap[KEY_MAP(D)] = Key::Player1_4; mKeyMap[KEY_MAP(C)] = Key::Player1_5; mKeyMap[KEY_MAP(F)] = Key::Player1_6; mKeyMap[KEY_MAP(V)] = Key::Player1_7; mKeyMap[KEY_MAP(RIGHT_SHIFT)] = Key::Player2_Scratch; mKeyMap[KEY_MAP(M)] = Key::Player2_1; mKeyMap[KEY_MAP(K)] = Key::Player2_2; mKeyMap[KEY_MAP(COMMA)] = Key::Player2_3; mKeyMap[KEY_MAP(L)] = Key::Player2_4; mKeyMap[KEY_MAP(PERIOD)] = Key::Player2_5; mKeyMap[KEY_MAP(SEMICOLON)] = Key::Player2_6; mKeyMap[KEY_MAP(SLASH)] = Key::Player2_7; mKeyMap[KEY_MAP(F3)] = Key::SpeedDown; mKeyMap[KEY_MAP(F4)] = Key::SpeedUp; #undef KEY_MAP for(auto it = mKeyMap.begin(); it != mKeyMap.end(); it++) { mKeyState[it->second] = Key::KEY_UP; } scheduleOnce(schedule_selector(GameScene::start), .0f); scheduleUpdate(); auto keyListener = EventListenerKeyboard::create(); keyListener->onKeyPressed = CC_CALLBACK_2(GameScene::onKeyDown, this); keyListener->onKeyReleased = CC_CALLBACK_2(GameScene::onKeyUp, this); auto dispatcher = Director::getInstance()->getEventDispatcher(); dispatcher->addEventListenerWithSceneGraphPriority(keyListener, this); dispatcher->addCustomEventListener(Event::BpmEvent::CHANGED, CC_CALLBACK_1(GameScene::onBpmChanged, this)); dispatcher->addCustomEventListener(Event::JudgeEvent::JUDGE, CC_CALLBACK_1(GameScene::onJudge, this)); return true; }
AMInt32 AMGuiGetKeyCode(AMInt32 key) { switch(key) { KEY_MAP(KEY_OK, EKeyDevice3); KEY_MAP(KEY_LEFT, EKeyLeftArrow); KEY_MAP(KEY_RIGHT, EKeyRightArrow); KEY_MAP(KEY_UP, EKeyUpArrow); KEY_MAP(KEY_DOWN, EKeyDownArrow); KEY_MAP(KEY_CLEARSK, EKeyEscape); KEY_MAP(KEY_BACKSPACESK, EKeyBackspace); KEY_MAP(KEY_RIGHTSK, EKeyDevice1); KEY_MAP(KEY_LEFTSK, EKeyDevice0); KEY_MAP(KEY_NUM0, '0'); KEY_MAP(KEY_NUM1, '1'); KEY_MAP(KEY_NUM2, '2'); KEY_MAP(KEY_NUM3, '3'); KEY_MAP(KEY_NUM4, '4'); KEY_MAP(KEY_NUM5, '5'); KEY_MAP(KEY_NUM6, '6'); KEY_MAP(KEY_NUM7, '7'); KEY_MAP(KEY_NUM8, '8'); KEY_MAP(KEY_NUM9, '9'); KEY_MAP(KEY_POUND,'#'); KEY_MAP(KEY_STAR, '*'); default: return 0; } return 0; }