游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2918|回复: 1

MFC与Ogre结合中出现的鼠标问题

[复制链接]

2

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2008-11-22 22:15:00 | 显示全部楼层 |阅读模式
程序中用view的句柄作为创建renderWindow的句柄,Listener采用的缓冲模式,新建OIS的inputManager用的是MainFrame的句柄

在重写的mouseMove函数中通过参数MouseEvent arg来获得鼠标的坐标arg.state.X.abs和arg.state.Y.abs。但是这两个坐标都不会超过50。为什么呢?为什么呢?难道说MFC和OIS有冲突?

小弟后来通过getCursorPos直接获取鼠标的位置,可以达到想要的效果,请问各位大大有啥更好的解决办法吧 [em5]

2

主题

29

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2011-12-29 15:13:00 | 显示全部楼层

Re:MFC与Ogre结合中出现的鼠标问题

默认就是50  
unsigned int width, height, depth;
    int left, top;
        //OIS默认宽和高是50px啊,来设置成RenderWindow的宽高即可
    rw->getMetrics(width, height, depth, left, top);//得到窗口的实际大小
        //可以用这个值传给AVI了,或者是从文件中读

    const OIS::MouseState &ms = mMouse->getMouseState();
        //const OIS::MouseState &ms = /*mMouse*/this->mMouse->getMouseState();
     ms.width = width;
     ms.height = height;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-9 14:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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