首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >像其他游戏一样在AndEngine中动态更改分数

像其他游戏一样在AndEngine中动态更改分数
EN

Stack Overflow用户
提问于 2012-01-12 14:10:44
回答 2查看 2.2K关注 0票数 2

我不知道我正在寻找的东西的确切术语。我正在开发一个游戏,我在其他游戏场景中显示分数。我想改变分数(实际上是将当前分数加到以前的分数中),就像在其他游戏中一样,一个接一个地改变。例如,如果之前的分数是10,而现在的分数是10,那么我想用速度10 11 12 13 14 15来显示它。同时添加。当到达20时,将播放类似tiiiinnnnnnnn的声音。我想一个接一个地添加。我希望我的问题清楚了,请提供一个解决方案。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-23 21:28:35

另一种对我有效的方式。

代码语言:javascript
复制
private TimerHandler timerHandler;
private long startTime = 120000; // 2 minutes for example

private void createTimer() {
    final float period = 1; //one second

    this.getEngine().registerUpdateHandler(timerHandler = new TimerHandler(period, new ITimerCallback() {                      
        public void onTimePassed(final TimerHandler pTimerHandler) {
            timerHandler.reset();

            startTime = (long) (startTime - (period * 1000));
            int seconds = (int) ((startTime / 1000) % 60);
            int minutes = (int) ((startTime / 1000) / 60);
            timerText.setText(String.format("%d:%02d", minutes, seconds));                            
        }
    }));
}
票数 1
EN

Stack Overflow用户

发布于 2012-01-12 21:31:51

尝尝这个,

使用可变文本来实现您的目的,

代码语言:javascript
复制
ChangeableText textTime = new ChangeableText(int xPosition, int yPosition, Font mFont, "00");

然后启动一个计时器,让它延迟你想要改变的速度

现在假设您想要将文本从

int x= 10到int y= 20

代码语言:javascript
复制
    final Timer timer = new Timer();
    timer.schedule(new TimerTask() {

            @Override
            public void run() {
                x++;
                textTime.setText(tm);
                if(x==y) {
                     timer.cancel();
                }
            }

    }, 0, 100); // you can change this delay with your own
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8830875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档