游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4099|回复: 4

请问Ogre如何扑捉鼠标的位置?

[复制链接]

4

主题

7

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2009-2-26 22:31:00 | 显示全部楼层 |阅读模式
我是在mfc里面扑捉的
请问是这样获取吗?
OIS::MouseState ms=mMouse->getMouseState()
ms.X.abs
ms.Y.abs
我怎么获取的值都是50呢?

4

主题

16

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2009-2-28 17:29:00 | 显示全部楼层

Re:请问Ogre如何扑捉鼠标的位置?

你应该设定一下鼠标的移动范围等于窗口的大小。
比如如下的函数:
void SceneListener::windowResized(Ogre::RenderWindow* rw)
{
        //调整鼠标的范围
        unsigned int width, height, depth;
        int left, top;
          //获得窗口的尺寸
        rw->getMetrics(width, height, depth, left, top);
          //设定鼠标
        const OIS::MouseState &ms = mMouse->getMouseState();
        ms.width = width;
        ms.height = height;
}
再看你的代码:
和这个差别只在
OIS::MouseState ms=mMouse->getMouseState()
这句。
正确的应该是
OIS::MouseState &ms = mMouse->getMouseState();

看到差别没?就是这个&符号。你的定义方式相当于把MouseState复制出来一个副本,即ms。然后你又修改了ms的值,鼠标当前的属性并没有改变。

4

主题

7

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2009-3-1 10:56:00 | 显示全部楼层

Re:请问Ogre如何扑捉鼠标的位置?

搞定了
谢谢!

1

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2009-12-3 09:00:00 | 显示全部楼层

Re: 请问Ogre如何扑捉鼠标的位置?

能否把mfc与ogre结合的代码贴出来呀,谢谢

5

主题

27

帖子

27

积分

注册会员

Rank: 2

积分
27
发表于 2010-3-4 15:18:00 | 显示全部楼层

Re:请问Ogre如何扑捉鼠标的位置?

太谢谢了, 我也全是 最大50 ,正奇怪呢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-12 17:38

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表