gpt4 book ai didi

windows - Cocos2d-x键盘实现

转载 作者:可可西里 更新时间:2023-11-01 10:06:29 26 4
gpt4 key购买 nike

我正在使用 cocos2d-x 为 windows、mac 和 linux 制作游戏我想在我的游戏中使用键盘,但没有官方的键盘实现cocos2d-x3.0alpha。我阅读了很多关于键盘实现的论坛帖子,并且看到了一些自定义的 cocos2d-x 分支,但我已经修改了我的 cocos2d-x,所以我需要将代码放在 CCDirector 或其他类中。有人可以给我关于如何让它工作的代码吗? (不是我想要的代码可以在上述所有平台上运行的项目)
谢谢!

最佳答案

所以我让它工作了我还制作了一个教程,您可以在这里查看: http://www.cocos2d-x.org/forums/6/topics/39145

我们将从在需要键盘的场景中创建两个函数开始。他们将是:

OurScene.h:

void keyPressed(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event *event);
void keyReleased(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event *event);

我们的场景.cpp:

void OurScene::keyPressed(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event *event)
{

}
void OurScene::keyReleased(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event *event)
{

}

当我们按下/释放键盘上的某个键时,将调用这些函数。接下来我们需要一个监听器来寻找键盘,我们将像这样创建它(我在 init 函数中完成了)

auto keyboardListener = EventListenerKeyboard::create();
keyboardListener->onKeyPressed = CC_CALLBACK_2(OurScene::keyPressed, this);
keyboardListener->onKeyReleased = CC_CALLBACK_2(OurScene::keyReleased, this);
EventDispatcher::getInstance()->addEventListenerWithSceneGraphPriority(keyboardListener, this); // use if your version is below cocos2d-x 3.0alpha.1
// use this: Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(keyboardListener, this); if you are using cocos2d-x 3.0alpha.1 and later!

此代码创建一个键盘监听器,然后设置按下或释放键时将调用的函数。现在我们的程序可以检测键盘了!

等等……我怎么知道按下了什么键?很简单!让我告诉你:

//put this inside keyPressed or keyReleased
if (keyCode == EventKeyboard::KeyCode::KEY_W)
{
CCLog("W key was pressed");
}

这段代码将检查按下的键的键码是什么。键码列表在 EventKeyboard 类中。要使用您只需键入的键码:EventKeyboard::KeyCode::KEY_**whatever key** - 您通常会得到一个可供选择的可用键列表。

关于windows - Cocos2d-x键盘实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19972514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com