cocos2d-x 处理windows按键消息 鼠标移动消息
2015-01-04 11:42
381 查看
用cocos2d开发windows游戏.需要处理按键消息,cocos2d 源代码目录的CCEGLView.h类中提供了一个接口
void setAccelerometerKeyHook( LPFN_ACCELEROMETER_KEYHOOK lpfnAccelerometerKeyHook );
其中LPFN_ACCELEROMETER_KEYHOOK 为函数指针.提供一个这样的回调函数就可以了
typedef void (*LPFN_ACCELEROMETER_KEYHOOK)( UINT message,WPARAM wParam, LPARAM lParam ); //需要提供的函数类型
使用方法:
CCDirector::sharedDirector()->getOpenGLView()->setAccelerometerKeyHook(&keyboardHook);
其中keyboardHook 为函数指针,定义如下
static void keyboardHook(UINT message,WPARAM wParam, LPARAM lParam);
再此函数中处理windows事件消息即可
以上只处理了按键消息,cocos并没有把鼠标移动事件添加进去,需要使用鼠标移动事件,可以如下添加:
在 此函数中 LRESULT CCEGLView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
中的 case WM_MOUSEMOVE: 下面添加
if ( m_lpfnAccelerometerKeyHook!=NULL )
{
(*m_lpfnAccelerometerKeyHook)( message,wParam,lParam );
}
以上是修改cocos源代码,需要重新编译,把新编译的dll和lib文件拷贝到自己项目相应的debug或者release目录下 作编译
使用版本cocos2d-x-2.2.3
void setAccelerometerKeyHook( LPFN_ACCELEROMETER_KEYHOOK lpfnAccelerometerKeyHook );
其中LPFN_ACCELEROMETER_KEYHOOK 为函数指针.提供一个这样的回调函数就可以了
typedef void (*LPFN_ACCELEROMETER_KEYHOOK)( UINT message,WPARAM wParam, LPARAM lParam ); //需要提供的函数类型
使用方法:
CCDirector::sharedDirector()->getOpenGLView()->setAccelerometerKeyHook(&keyboardHook);
其中keyboardHook 为函数指针,定义如下
static void keyboardHook(UINT message,WPARAM wParam, LPARAM lParam);
再此函数中处理windows事件消息即可
以上只处理了按键消息,cocos并没有把鼠标移动事件添加进去,需要使用鼠标移动事件,可以如下添加:
在 此函数中 LRESULT CCEGLView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
中的 case WM_MOUSEMOVE: 下面添加
if ( m_lpfnAccelerometerKeyHook!=NULL )
{
(*m_lpfnAccelerometerKeyHook)( message,wParam,lParam );
}
以上是修改cocos源代码,需要重新编译,把新编译的dll和lib文件拷贝到自己项目相应的debug或者release目录下 作编译
使用版本cocos2d-x-2.2.3
相关文章推荐
- windows 鼠标消息触发及处理流程
- 用消息来处理鼠标中轮滚动时水平滚动条移动 --别人对我的帮助
- C#在Windows Mobile / WinCE平台发送(按键、点击鼠标等各种windows)消息
- 欺骗windows---消息处理:移动窗口
- EVC长按鼠标左键的消息处理解决办法
- Delphi中的消息钩子函数和Windows子类处理 入门篇
- windows平台消息处理函数(C版)
- 深入剖析MFC中Windows消息处理、运行机制
- 自定义处理窗体的移动消息WM_MOVE
- 处理鼠标离开窗口的消息 (WM_MOUSELEAVE)
- windows的鼠标、键盘消息(阅windows核心编程笔记)
- C#开发WINDOWS应用程序时消息的处理
- 我用消息来处理 Dbgrid 鼠标中轮滚动消息的总结
- WIN32汇编: 7.处理鼠标输入消息
- 如何捕获VCL没有处理的Windows消息
- C#开发WINDOWS应用程序时消息的处理
- C#开发WINDOWS应用程序时消息的处理
- C#处理windows消息--转自help
- 深入剖析MFC中对于Windows消息处理、运行机制 选择自 mahongxi 的 Blog
- DataGrid行随鼠标移动变色及单击双击行事件处理