admin管理员组文章数量:1026989
CEGUI消息相应
1.假设我们要响应一个单选按钮的控件,因该想到的必须处理的事件
WM_MOUSEMOVE WM_LBUTTONDOWN WM_LBUTTONUP
2.为你的单选按钮注册一个事件
class OurPlayer {public:OurPlayer(){RegisterForEvents(); // Call our Register function};bool Jump(const CEGUI::EventArgs& /*e*/){}; // Jump for joyprivate:RegisterForEvents(){
//获得按钮对象完成注册gJumpBtnWindow->subscribeEvent(CEGUI::PushButton::EventClicked,CEGUI::Event::Subscriber(&OurPlayer::Jump,this));}; }
//注意subscribeEvent是一个模板函数,所以事件必须写在一个类中(可以试一下把事件写成全局的编译会报错的)3.对事件进行拦截case WM_MOUSEMOVE: CEGUI::System::getSingleton().getDefaultGUIContext().injectMousePosition( (float)(LOWORD(lParam)) , (float)(HIWORD(lParam)) ) ; break; case WM_LBUTTONDOWN: CEGUI::System::getSingleton().getDefaultGUIContext().injectMouseButtonDown( CEGUI::LeftButton ) ; break; case WM_LBUTTONUP: CEGUI::System::getSingleton().getDefaultGUIContext().injectMouseButtonUp( CEGUI::LeftButton ) ; break;//注意这要放在win32的消息函数里,还有就是WM_MOUSEMOVE这个需要使用injectMousePosition,不能够写injectMouseMove,这样不能响应事件,跟到CEGUI代码里发现无论如何拖动鼠标,position的值都是不正确的
CEGUI消息相应
1.假设我们要响应一个单选按钮的控件,因该想到的必须处理的事件
WM_MOUSEMOVE WM_LBUTTONDOWN WM_LBUTTONUP
2.为你的单选按钮注册一个事件
class OurPlayer {public:OurPlayer(){RegisterForEvents(); // Call our Register function};bool Jump(const CEGUI::EventArgs& /*e*/){}; // Jump for joyprivate:RegisterForEvents(){
//获得按钮对象完成注册gJumpBtnWindow->subscribeEvent(CEGUI::PushButton::EventClicked,CEGUI::Event::Subscriber(&OurPlayer::Jump,this));}; }
//注意subscribeEvent是一个模板函数,所以事件必须写在一个类中(可以试一下把事件写成全局的编译会报错的)3.对事件进行拦截case WM_MOUSEMOVE: CEGUI::System::getSingleton().getDefaultGUIContext().injectMousePosition( (float)(LOWORD(lParam)) , (float)(HIWORD(lParam)) ) ; break; case WM_LBUTTONDOWN: CEGUI::System::getSingleton().getDefaultGUIContext().injectMouseButtonDown( CEGUI::LeftButton ) ; break; case WM_LBUTTONUP: CEGUI::System::getSingleton().getDefaultGUIContext().injectMouseButtonUp( CEGUI::LeftButton ) ; break;//注意这要放在win32的消息函数里,还有就是WM_MOUSEMOVE这个需要使用injectMousePosition,不能够写injectMouseMove,这样不能响应事件,跟到CEGUI代码里发现无论如何拖动鼠标,position的值都是不正确的
本文标签: CEGUI消息相应
版权声明:本文标题:CEGUI消息相应 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/IT/1694647540a254486.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论