错误如下:
2>Layer.obj : error LNK2001: 无法解析的外部符号 “public: virtual void __thiscall Layer01::onKeyPressed(enum cocos2d::EventKeyboard::KeyCode,class cocos2d::Event *)” (?onKeyPressed@Layer01@@UAEXW4KeyCode@EventKeyboard@cocos2d@@PAVEvent@4@@Z)
2>Layer.obj : error LNK2001: 无法解析的外部符号 “public: virtual void __thiscall Layer01::onKeyReleased(enum cocos2d::EventKeyboard::KeyCode,class cocos2d::Event *)” (?
Layer01::onKeyPressed 的.cpp源码有问题吧?
https://blog.csdn.net/weixin_40763897/article/details/104552235
看看这篇文章吧。
auto listener=EventListenerKeyboard::create();
listener->onKeyPressed = [=](EventKeyboard::KeyCode keyCode,Event* event){
keys[keyCode] = true;
};
listener->onKeyReleased = [=](EventKeyboard::KeyCode keyCode,Event* event){
keys[keyCode] = false;
};
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener,this);
这段监听的C++代码语法我不懂,但是感觉怪怪的。直接赋一个匿名函数给一个对象,我不是很懂这语法。
Layer.h 注释掉 onKeyPressed/onKeyReleased啊
第一个回答我就说了,你头文件声明了,源文件没有定义
//void onKeyPressed(cocos2d::EventKeyboard::KeyCode keyCode,cocos2d::Event* event);
//void onKeyReleased(cocos2d::EventKeyboard::KeyCode keyCode,cocos2d::Event* event);
基础的C++,C++不熟,2dx就会很难 