更新处理程序和引擎

Update Handler AndEngine

我希望 AndEngine 中的更新处理程序每​​秒更改精灵的颜色(仅作为示例),但更新处理程序只更改一次,然后就结束了。

我必须在前 4 个方法中的哪个方法中初始化更新处理程序?或者为什么它 运行 只有一次?

this.mEngine.registerUpdateHandler(new TimerHandler(1.0f, new ITimerCallback() {

    @Override
    public void onTimePassed(TimerHandler pTimerHandler) {

        z = MathUtils.random(0, 255);
        x = MathUtils.random(0, 255);
        y = MathUtils.random(0, 255);

        sprite.setColor(new Color(x, y, z));
    }
}));

试试这个:

yourSprite.registerUpdateHandler(new TimerHandler(1.0f, true, new ITimerCallback() {

@Override
public void onTimePassed(TimerHandler pTimerHandler) {

    z = MathUtils.random(0, 255);
    x = MathUtils.random(0, 255);
    y = MathUtils.random(0, 255);

    sprite.setColor(new Color(x, y, z));
}
}));

第二个参数 (true) 表示是否应该自动重置并重复。