我正在使用Irrlicht(C ++)制作我的第一款游戏,这是一款带鼠标控制功能的RTS
当你选择一个瓷砖(点击它)时,它会亮起,屏幕上会出现一些gui按钮(不是在gui窗口中,请注意,我喜欢这样):
http://i1139.photobucket.com/albums/n549/Adam_Halley-Prinable/Untitled2.png
然而,由于我切换到鼠标控制,按钮不会注册鼠标点击。点击直接通过按钮,然后选择后面的瓷砖:
http://i1139.photobucket.com/albums/n549/Adam_Halley-Prinable/Untitled3.png
有没有办法可以说“按钮优先获得点击次数”? 我正在使用MyEventReceiver,我已经搞砸了接受鼠标点击。
非常感谢:D
答案 0 :(得分:2)
如果其他人有同样的问题,请告诉你我是如何解决的:)
浏览MyEventReceiver.h并删除鼠标部分中的所有“return true;”。
不要问我为什么,但它有效,似乎没有副作用。确保你留下“返回假”;在该部分的末尾。
答案 1 :(得分:0)
您的事件接收器在GUI访问事件之前触发,如果您想将其传递给GUI,则可以通过手动将其发布到事件接收器中的GUIEnvironment来执行此操作。
if (guienv->postEventFromUser(event))
return true; // abort because the gui wanted it
// .. pick nodes
// possibly post event to scene manager
return true; // remember to return true so gui/smgr don't get the event again