unc*_*Lem 0 animation android andengine
当我必须在我的场景上移动一些精灵(例如,在100px向下)时,我正在使用此代码:
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);
}
Run Code Online (Sandbox Code Playgroud)
它有效,但我想知道是否有更多正确和/或更快的可能性来做到这一点.
或者查看各种可用的修饰符 - 向上/向下移动,使用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()));
Run Code Online (Sandbox Code Playgroud)
EaseBounceOut.getInstance()只是一个例子 - 它导致Sprite最后反弹 - 还有很多其他的EaseFunction可用.
归档时间: |
|
查看次数: |
3697 次 |
最近记录: |