cocos2d-x总结-win32环境下响应键盘消息
2012-07-22 11:39
330 查看
cocos2d-x总结-win32环境下响应键盘消息
cocos2d-x总结-win32环境下响应键盘消息摘要: cocos2d主要面向的是触摸屏幕设备的,在WINDOWS下的定位感觉多多少少就是相当于一个模拟器,因此并没有太多的PC下重要的键盘支持。然而响应键盘消息对于调试来说可以提供不少方便。下边就通过更改cocos2d-x的源码来添 ...cocos2d主要面向的是触摸屏幕设备的,在WINDOWS下的定位感觉多多少少就是相当于一个模拟器,因此并没有太多的PC下重要的键盘支持。然而响应键盘消息对于调试来说可以提供不少方便。下边就通过更改cocos2d-x的源码来添加键盘消息响应。
一,打开cocos2dxincludeCCLayer.h
在CCLayer类的public下添加
virtual void processWin32KeyPress(UINT message, WPARAM wParam, LPARAM lParam) {}
复制代码
二,打开cocos2dxplatformwin32CCEGLView_win32.h
在CCEGLView类的定义上边声明
class CCLayer;
复制代码在CCEGLView类的private下添加变量
CCLayer *m_pLayWin32Key;
复制代码在public下添加函数
void SetWin32KeyLayer(CCLayer *pLayer)
{
m_pLayWin32Key = pLayer;
}
复制代码
三,打开cocos2dxplatformwin32CCEGLView_win32.cpp
在文件开始部分添加
#include "CCLayer.h"
复制代码
在CCEGLView构造函数中初始化CCLayer(NULL)
在WindowProc函数的开始部分添加
if(NULL != m_pLayWin32Key)
{
m_pLayWin32Key->processWin32KeyPress(message, wParam, lParam);
}
复制代码
四,重新生成libcocos2d将新生成的libcocos2d.lib和libcocos2d.dll放到相应位置
这样就可以在自己的程序中捕获win32的消息了。只需要在某个Layer的初始化部分添加
CCDirector::sharedDirector()->getOpenGLView()->SetWin32KeyLayer(this);
复制代码然后重新继承虚函数processWin32KeyPress,就可以处理消息了。当然在Layer销毁前别忘记调用
CCDirector::sharedDirector()->getOpenGLView()->SetWin32KeyLayer(NULL);
复制代码
相关文章推荐
- cocos2d-x总结(四)win32环境下响应键盘消息
- cocos2d-x总结(四)win32环境下响应键盘消息
- cocos2d-x总结(四)win32环境下响应键盘消息
- cocos2d-x在win32测试时响应键盘消息
- 如何对键盘消息控制:glut库、win32、MFC
- 05在对话框中实现键盘消息响应
- 关于MFC 计算器响应键盘消息及虚拟键码
- [总结]2。消息流向及响应分析
- Win32 键盘事件 - 击键消息、字符消息、插入符号(光标)
- Selenium遇到的问题5 键盘操作无响应,下载win32出错
- VC++ 对话框程序响应键盘消息的处理方法的说明(非常重要)
- x64环境下键盘消息钩取
- VC/MFC 键盘消息的截取与响应
- win32(4)--鼠标及键盘消息
- Win32 消息响应顺序
- VC/MFC 键盘消息的截取与响应
- C++控制台程序,windows环境下响应按键消息实现一
- Windows控制台下响应键盘消息
- MFC界面响应ESC和Enter键盘消息,阻止程序退出
- C#中键盘消息的响应