本文系原创,欢迎转载,请在转载时附上本链接。
虽然cocos2d-x写出来的游戏会在手机上跑,不需要响应键盘,但是有些需要是在windows系统上跑,或者windows系统中测试呢?
网上有个在cocos2d-x中添加键盘响应的方式:就是在源代码 类CCEGLView中申明一个CCLayer *的变量 ,然后修改 CCEGLView::WindowProc的 源代码,当收到键盘按下消息的时候就调用定义在CCLayer中的虚函数,但是这样修改的源代码过多。如果新版本更新的话又要去修改源代码,甚是麻烦,有更好更简单的办法;
只需要两句代码:
第一句:在.h中声明: static void keyboardHook(UINT message, WPARAM wParam, LPARAM lParam);
第二句:在init中调用: CCDirector::sharedDirector()->getOpenGLView()->setAccelerometerKeyHook(CCSkyLayer::keyboardHook);
然后实现keyboardHook函数,这样当你点击layer时,函数keyboardHook被自动调用。就在这个函数了处理鼠标事件.
为什么keyboardHook会被自动调用呢?看源代码吧很简单的。我就不废话了。
阅读(3664) | 评论(0) | 转发(0) |