Chinaunix首页 | 论坛 | 博客
  • 博客访问: 26906
  • 博文数量: 5
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 72
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-22 14:28
文章分类
文章存档

2013年(5)

我的朋友

分类: C/C++

2013-05-28 12:25:48

本文系原创,欢迎转载,请在转载时附上本链接。

虽然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) |
给主人留下些什么吧!~~