cocos2dx相关,编译能过然后出了个奇怪的link问题


默认的用cocos console新建的cocos2d-x 3.0新项目,对着书改代码的

我想实现一个键盘事件移动一个Sprite,在HelloWorld::init()方法里添加了下面的代码


 auto *dustinMovementListener = EventListenerKeyboard::create();
    dustinMovementListener>onKeyPressed=CC_CALLBACK_2(HelloWorld::dustinPressed, this);

理论上讲这样的代码应该是会回调HelloWorld::dustinPressed方法- -?

在类声明部分添加了


 void dustinPressed(cocos2d::EventKeyboard::KeyCode keyCode, cocos2d::Event *byevent);

这个方法声明

实现部分留空了


 void dustinPressed(EventKeyboard::KeyCode keyCode, Event* event)
{

}

然后编译之后就出现了这样的错误
error

百思不得其解特向各位大牛求教······
补充:
按照kid143大神改了一下,编译的时候出了5个错误····
err2

cocos2d-x cocos2dx C++ cocos2d

璋zzzzz 10 years, 6 months ago

我琢磨是你的实现那个写的不对。你那个声明是在HelloWorld类里的的吧?那就是这个类的成员函数了。但是你实现的时候没有将这个函数作为成员函数实现。应该写成:


 void HelloWorld::dustinPressed(EventKeyboard::KeyCode keyCode, Event* event)
{

}

update:
你后来的编译错误是没有切换名空间。你是不是以前没写过C++?如果是这样的话还是先看看C++的基础吧。还有我不是大神,你不需要用“大神“这个称号称呼我。

最爱的唯一 answered 10 years, 6 months ago

Your Answer