游戏开发论坛

 找回密码
 立即注册
搜索
查看: 8358|回复: 12

ogre如何不捕获鼠标

[复制链接]

36

主题

197

帖子

197

积分

注册会员

Rank: 2

积分
197
发表于 2007-5-23 10:40:00 | 显示全部楼层 |阅读模式
我将ogre放在mfc中,类似一个场景编辑器,但是ogre把鼠标捕获住了,鼠标指针没有显示出来,而且也不能去点菜单

我看了ois::mouse里面没有关于释放鼠标的函数

怎么办啊 [em6]

193

主题

870

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
发表于 2007-5-23 15:21:00 | 显示全部楼层

Re:ogre如何不捕获鼠标

OIS在Windows环境下其实使用了DirectInput
和配置DX时候一样需要下面几个参数和值
"w32_keyboard",  "DISCL_NONEXCLUSIVE"
"w32_keyboard",  "DISCL_FOREGROUND"
"w32_mouse",  "DISCL_NONEXCLUSIVE";
"w32_mouse",  "DISCL_FOREGROUND";

36

主题

197

帖子

197

积分

注册会员

Rank: 2

积分
197
 楼主| 发表于 2007-5-24 15:23:00 | 显示全部楼层

Re:ogre如何不捕获鼠标

解决,谢谢了

4

主题

110

帖子

120

积分

注册会员

Rank: 2

积分
120
发表于 2007-5-29 08:33:00 | 显示全部楼层

Re:ogre如何不捕获鼠标

我也是想把鼠标显示出来啊。。。
楼主能详细说下怎么做吗。。。怎么解决的啊

36

主题

197

帖子

197

积分

注册会员

Rank: 2

积分
197
 楼主| 发表于 2007-5-29 16:24:00 | 显示全部楼层

Re:ogre如何不捕获鼠标

在listener中初始化ois的时候,加入免费打工仔说的那些参数

4

主题

110

帖子

120

积分

注册会员

Rank: 2

积分
120
发表于 2007-5-29 19:28:00 | 显示全部楼层

Re:ogre如何不捕获鼠标

还是不知道在哪里改哦。。能说下具体地方吗

5

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2007-5-29 21:36:00 | 显示全部楼层

Re:ogre如何不捕获鼠标

ExampleFrameListener::ExampleFrameListener(...)
{
...
ParamList pl;
size_t windowHnd = 0;
std:stringstream windowHndStr;
win->getCustomAttribute("WINDOW", &windowHnd);
windowHndStr << windowHnd;
pl.insert(std::make_pair(std::string("WINDOW"), windowHndStr.str()));
pl.insert(std::make_pair(std::string("w32_mouse"), std::string("DISCL_NONEXCLUSIVE")));
mInputManager = InputManager::createInputSystem( pl );

...
}

4

主题

110

帖子

120

积分

注册会员

Rank: 2

积分
120
发表于 2007-5-30 09:51:00 | 显示全部楼层

Re:ogre如何不捕获鼠标

恩 解决了  谢谢。。

3

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2007-7-9 23:46:00 | 显示全部楼层

加入cegui后还是鼠标还是有问题呀!

你好!请问怎么解决加入cegui后mfc与cegui的鼠标响应的消息控制关系.你虽然提到了采用传递框架类句柄作为顶层句柄的方法,但是仍然会出现两个鼠标呀..(特别是在右边视图中有两个不一样的鼠标在移动).我在mfc框架下有左右两个视图,只将右边视图作为渲染场景.想让鼠标在左边视图时由框架处理鼠标,到右边视图时交由cegui处理,这样始终只有一个鼠标出现,请问如何解决这个问题

4

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2010-8-26 13:01:00 | 显示全部楼层

Re:ogre如何不捕获鼠标

为什么我用这个办法就应用程序出错呢?编译过的去,执行就出错

注释掉
pl.insert(std::make_pair(std::string("w32_mouse"),std::string("DISCL_NONEXCLUSIVE")));

就可以运行,但是还是锁定了鼠标

用的最新的那个OGRE
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 09:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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