cod*_*e22 1 java android andengine
我有这个创建的方法,每秒都会向我的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);
}
Run Code Online (Sandbox Code Playgroud)
我想做的是,例如
if(x <= b){
mEffectSpawnDelay = mEffectSpawnDely - .2f;
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是当变量发生变化时.我无法找到更新TimeHandler的方法,让它知道更改mEffectSpawnDelay变量.
有什么建议?
Jon*_*ong 11
我刚刚为你创建了这个课程.我认为它应该可以工作,你可以根据需要改变刻度之间的间隔.(尚未对其进行测试,因此您可能需要进行一些小修复.但它看起来很好IMO.)
用这种方式:
Timer timer = new Timer(interval, new Timer.ITimerCallback() {
public void onTick() {
//Your code to execute each interval.
}
}
(Engine object here).registerUpdateHandler(timer);
Run Code Online (Sandbox Code Playgroud)
如果您想更改间隔,则应该保留对计时器的引用.无论如何,改变间隔使用:
timer.setInterval(newInterval);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7826 次 |
| 最近记录: |