OGRE 1.7以上版本实现鼠标查询(非CEGUI)

众所周知,,OGRE1.7以上版本几乎除去了CEGUI,网上的大部分资料都是讲1.7以前的版本用CEGUI实现的鼠标查询、拾取物体等等,下面我们就来看看1.7以上版本如何实现鼠标操作的。

1、首先你要在你的cpp文件里包含D:\ogre1.7.4\OgreSDK_vc10_v1-7-4\include\OGRE\sdktrays.h 这个头文件,我用的是OGRE1.7.4版本,记得把文件路径包含到工程里。

(包含进去之后有可能编译出问题,我在sdktrays.h里又包含了一个OIS的头文件:#include "OISMouse.h",这样就不会出现找不到相关类的错误)

2、在你的帧监听器里继承public ExampleFrameListener, public OIS::MouseListener, public OgreBites::SdkTrayListener 这三个监听器。

3、在你的帧监听器类的构造函数里初始化SdkTrayManager,OgreBites::SdkTrayManager* mTrayMgr; 最后一个监听器参数设置为this。

4、在你重写MouseListener的mouseMoved函数里添加一下代码:

if(mTrayMgr->injectMouseMove(arg))//找到这个函数的源代码可以看到,OGRE帮我实现了鼠标的移动操作。{return true;}mTrayMgr 这个管理器可以设置很多有用的鼠标属性,如显示鼠标、隐藏、创建鼠标查询射线等等,基本上通过上述步骤就可以实现鼠标操作了,也是OGRE自带的。

享受每一刻的感觉,欣赏每一处的风景,这就是人生。

OGRE 1.7以上版本实现鼠标查询(非CEGUI)

相关文章:

你感兴趣的文章:

标签云: