Пример #1
0
	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;
	}
Пример #2
0
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;
}