查看: 843|回复: 3

怎么让一个变量每帧自加一

[复制链接]

该用户从未签到

发表于 2014-3-31 15:12:14 | 显示全部楼层 |阅读模式
这个问题可能有点小白,求指点:

我在做一个“倒计时”一类的东西,
我用hud相机在屏幕上显示了一个整形变量的值,但不知道怎么才能让他从10到1在同一位置依次显示出来。
我的代码大致如下:
osg::Geode* createsence()
{
        osg::Geode* geode = new osg::Geode();
        int aa = 10;
        std::String gdlist=Intostring(aa);//将数值转换成字符串
        osgText::Text* text;
        text->setText(gdlist);
        geode->addDrawable(text);
        return geode;
}

int main()
{
        osg::Camera* hudcamera;
        osg::ref_ptr<osg::MatrixTransform>transform = new osg::MatrixTransform();
        hudcamera->addChild(transform);
        transform->addChild(createsence);
       
        .....//加入场景并运行
}

要添加些什么东西才能做出倒计时的效果呢?

该用户从未签到

发表于 2014-3-31 15:53:20 | 显示全部楼层
每帧加1的话,直接在GUIEventHandler的FRAME事件中执行即可

该用户从未签到

 楼主| 发表于 2014-3-31 16:05:18 | 显示全部楼层
array 发表于 2014-3-31 15:53
每帧加1的话,直接在GUIEventHandler的FRAME事件中执行即可

谢谢array大神,怎么弄的,可以稍微用两句代码提示下吗

该用户从未签到

发表于 2014-4-1 22:54:45 | 显示全部楼层
自己定义一个继承自osgGA::GUIEventHandler的类,在重写的handle函数里判断事件类型为FRAME时执行你需要的操作。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表