cocos2dx3.3rc0 只能监听键盘的按下和松开这两个动作

cocos2dx3.3rc0 是不是能键盘的按下和松开这两个动作,怎么监听某个键的按下状态?我想按住某个键实现sprite的行走,帮帮忙谢谢了

参考TestCpp里NewEventDispatcherTest 例子的话在EventDispatcher->Label receives keyboard

void LabelKeyboardEventTest::onEnter()
{
EventDispatcherTestDemo::onEnter();

Vec2 origin = Director::getInstance()->getVisibleOrigin();
Size size = Director::getInstance()->getVisibleSize();

auto statusLabel = Label::createWithSystemFont("No keyboard event received!", "", 20);
statusLabel->setPosition(origin + Vec2(size.width/2, size.height/2));
addChild(statusLabel);
    
auto listener = EventListenerKeyboard::create();

listener->onKeyPressed = ](EventKeyboard::KeyCode keyCode, Event* event){
char buf = {0};
sprintf(buf, “Key %d was pressed!”, (int)keyCode);
auto label = static_cast<Label*>(event->getCurrentTarget());
label->setString(buf);
};

listener->onKeyReleased = ](EventKeyboard::KeyCode keyCode, Event* event){
char buf = {0};
sprintf(buf, “Key %d was released!”, (int)keyCode);
auto label = static_cast<Label*>(event->getCurrentTarget());
label->setString(buf);
};

_eventDispatcher->addEventListenerWithSceneGraphPriority(listener, statusLabel);

}
麻烦问下您说的是加红的那两行吧?那个我试了就只会监听按下和松开这两个瞬间的动作,能不能知道某个键是按下的状态还是松开的状态?

你设置一个bool,默认false,按下去时候是true,放开时候设置false,true时候移动,false时候停止不就可以了…逻辑啊…楼主…

恩是这样的,cocos里边没有监听这种状态的函数吗?感觉又得自己写,OK,谢谢了:6: