您的位置:首页 > 移动开发 > Cocos引擎

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cocos2d-x windows 游戏