当前位置: 首页 > 面试题库 >

如何更改AndEngine中的TimerHandler延迟?

别峻
2023-03-14
问题内容

我有创建的这种方法,每秒向我的andengine场景添加一个精灵。

 private void createSpriteSpawnTimeHandler(){
        TimerHandler spriteTimerHandler;
        float mEffectSpawnDelay = 1f;
        spriteTimerHandler = new TimerHandler(mEffectSpawnDelay,true,new ITimerCallback(){
        @Override
        public void onTimePassed(TimerHandler pTimerHandler) {
                addFace();
        }
        });
        getEngine().registerUpdateHandler(spriteTimerHandler);
}

例如,我想做的是

if(x <= b){

 mEffectSpawnDelay = mEffectSpawnDely - .2f;
 }

我遇到的问题是更改变量时。我想不通一种更新TimeHandler的方法,让它知道更改mEffectSpawnDelay变量。

有什么建议?


问题答案:

我刚刚为您创建了此类。我认为它应该起作用,并且您可以根据需要更改刻度之间的间隔。(尚未测试,因此您可能需要进行一些小的修复。但这在IMO上看起来还不错。)

使用这种方式:

Timer timer = new Timer(interval, new Timer.ITimerCallback() {
    public void onTick() {
        //Your code to execute each interval.
    }
}
(Engine object here).registerUpdateHandler(timer);

如果要更改间隔,则应保留对计时器的引用。无论如何,要更改间隔,请使用:

timer.setInterval(newInterval);


 类似资料:
  • 问题内容: 我创建了基于 HTML: JS: 如您所见,我尝试通过2种方式在3秒后更改为,但没有人为我工作。真的很奇怪 我错过了什么? 实际上,我尝试在从Ajax获得响应后更改值,但是假设应该是相同的问题。 谢谢, 这是我的示例:http : //jsfiddle.net/6uKAT/20/ 问题答案: 尝试使用: Angular的window.setTimeout包装。fn函数包装在try /

  • 我是AnyLogic的新手,正在构建一个学生服务模拟,在其中我认为如果学生带着简单的问题来到服务中心,工作人员可以快速解决,否则会花费工作人员更多的时间。我使用statechart来实现学生的问题类型:在此处输入图像描述 我将相应的延迟时间设置为:在此处输入图像描述 一旦我尝试构建,编译器给我一个错误:在这里输入图像描述 这是什么意思?有人能告诉我怎么解决吗?

  • andengine同样是一款基于OpenGL ES技术的Android游戏引擎,物理引擎同样为Box2D(标配|||)。该框架性能普通,文档缺乏,但示例较为丰富。

  • 问题内容: 基本上,我有这个游戏,一旦猜出正确答案,它就会以一个新单词开始一个新游戏。我想显示,但是三秒钟后,将其更改为空字符串。我怎么做? 我的尝试: 编辑: 我的解决方案: 我不确定,但是我希望我遵循MadProgrammer的建议,而不是阻止事件本身,而是阻止新线程。我还将查找Java Timer。 问题答案: 摇摆是事件驱动的环境。当您阻止事件调度线程时,无法处理任何新事件。 您切勿在任何

  • 我想知道他们的AndEngine的任何子库可以变形两个不同的图像吗?或者在Android系统中?我一直在找它,但我没有找到任何东西。帮帮我...

  • 我有一个标准的应用程序设置(活动、视图模型、存储库)。该活动包含一个RecyclerView。RecyclerView有一个适配器。在我的活动中,我通过观察LiveData对象来更新RecyclerView: 如果用户点击我的RecyclerView中的任何项目,quizTask将被更改,并将触发一个onChanged事件。根据用户点击的项目,我想更改RecyclerView中一些项目的字体颜色。