如何在Android AndEngine中执行动画?
问题描述:
当我不得不移动我的场景有些精灵(例如,在100像素下),我使用这个代码:如何在Android AndEngine中执行动画?
Timer timer = new Timer();
for (int i=0; i<10; i++) {
delay+=frameDelay;
timer.schedule(new TimerTask() {
@Override
public void run() {
sprite.setPosition(sprite.getX(), sprite.getY()+10);
}
},delay);
}
它的工作原理,但我不知道是否有很多正确的和/或更快速做到这一点的可能性。
答
还是看提供的各种各样的改性剂 - 以向上/向下移动,使用MoveYModifier - 像
yourSprite.registerEntityModifier(new MoveYModifier(time, startY, endY, new IEntityModifierListener() {
@Override
public void onModifierStarted(final IModifier<IEntity> pModifier, final IEntity pItem) {
yourActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
//Do anything here that you want to happen when the Modifier starts - like start a sound playing, etc
}
});
}
@Override
public void onModifierFinished(final IModifier<IEntity> pEntityModifier, final IEntity pEntity) {
yourActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
//Do anything here that you want to happen after the Modifier is through - like stop playing a sound, etc
}
}
});
}
}, EaseBounceOut.getInstance()));
的EaseBounceOut.getInstance()仅仅是一个例子 - 它会导致雪碧在反弹结束 - 有很多其他EaseFunctions可用。
您是否在使用AndEngine? – 2012-07-27 19:21:54