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自带的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值