游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2058|回复: 3

可为什么监听器不能捕获鼠标事件呢?

[复制链接]

53

主题

98

帖子

101

积分

注册会员

Rank: 2

积分
101
发表于 2008-1-9 10:11:00 | 显示全部楼层 |阅读模式
我定义了一个帧监听器类,它的构造函数如下:
TestListener::TestListener(RenderWindow* pRenderWindow)
{
OIS:aramList pl;
size_t windowHnd = 0;
std:stringstream windowHndStr;
pRenderWindow->getCustomAttribute("WINDOW", &windowHnd);
windowHndStr << windowHnd;
pl.insert(std::make_pair(std::string("WINDOW"), windowHndStr.str()));
InputManager* mInputManager = OIS::InputManager::createInputSystem( pl );
       
Mouse* mMouse = static_cast<OIS::Mouse*>(mInputManager->createInputObject( OIS::OISMouse, true ));
mMouse->setEventCallback(this);
       
}

现在我创建了一个帧监听器,并注册到在根中:
TestListener* pListener = new TestListener(pWindow);
pRoot->addFrameListener(pListener);
可为什么该监听器不能捕获鼠标事件呢?

1

主题

32

帖子

55

积分

注册会员

Rank: 2

积分
55
发表于 2008-1-9 15:23:00 | 显示全部楼层

Re:可为什么监听器不能捕获鼠标事件呢?

尝试一下
mMouse->setBuffered(false);

53

主题

98

帖子

101

积分

注册会员

Rank: 2

积分
101
 楼主| 发表于 2008-1-9 16:24:00 | 显示全部楼层

Re:为什么监听器不能捕获鼠标事件呢?

还是不行,奇怪的是为什么
bool TestListener::frameStarted(const Ogre::FrameEvent& evt)
{
        return true;
}
函数会自动调用?
而当按下鼠标时不会响应
bool TestListener::mousePressed( const MouseEvent &arg, MouseButtonID id )
{
       
        return true;
}
函数?

4

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2008-2-22 17:33:00 | 显示全部楼层

Re: 可为什么监听器不能捕获鼠标事件呢?

因为你没有更新OIS
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 06:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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