游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2039|回复: 2

CEGUI里面响应鼠标单击事件失败

[复制链接]

2

主题

6

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2010-5-19 20:55:00 | 显示全部楼层 |阅读模式
是基于GLUT和CEGUI做的,已经在GLUT环境里面添加:
glutMouseFunc(processMouse);
glutPassiveMotionFunc(processMoveMouse);
对应的代码:

void processMouse(int button, int state, int x, int y)
{
        if (state == GLUT_DOWN)
        {
                if (button == GLUT_LEFT_BUTTON)
                {
                        cegui.pSys->injectMouseButtonDown(LeftButton);
                }
                else if (button == GLUT_MIDDLE_BUTTON)
                {
                        cegui.pSys->injectMouseButtonDown(RightButton);
                }
                else
                {

                }
        }
}

void processMoveMouse(int x, int y)
{
        cegui.pSys->injectMousePosition(x, y);
}

现在也能看到鼠标在界面里面移动了.
并且绑定了事件:

        CEGUI:ushButton* quitButton = (CEGUI::PushButton*)CEGUI::WindowManager::getSingleton().createWindow
                ("TaharezLook/Button", (CEGUI::utf8*)"Quit");
        root->addChildWindow(quitButton);
        quitButton->setPosition(CEGUI::UVector2(cegui_reldim(0.35f), cegui_reldim( 0.45f)) );
        quitButton->setSize(CEGUI::UVector2(cegui_reldim(0.35f), cegui_reldim( 0.1f)) );
        quitButton->setText("Quit");

        //绑定事件
        CEGUI::WindowManager::getSingleton().getWindow("Quit")->subscribeEvent(
                CEGUI::PushButton::EventClicked,CEGUI::Event::Subscriber(&GUI:oSomething,this));

对应的事件:

bool GUI::DoSomething(const CEGUI::EventArgs& args)
{
        MessageBox(
                NULL,
                (LPCWSTR)L"Resource not available\nDo you want to try again?",
                (LPCWSTR)L"Account Details",
                MB_ICONWARNING | MB_CANCELTRYCONTINUE | MB_DEFBUTTON2
                );

        return true;

}

但是当把鼠标单击那个按钮的时候 却没有任何反应?这是何解...

8

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2010-5-24 13:30:00 | 显示全部楼层

Re:CEGUI里面响应鼠标单击事件失败

看下GLUT_MIDDLE_BUTTON这个消息有没有进去

6

主题

40

帖子

67

积分

注册会员

Rank: 2

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

Re:CEGUI里面响应鼠标单击事件失败

继承类没做好。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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