![](/img/trans.png)
[英]AndEngine: Getting a NullPointerException on UpdateThread when adding a Sprite
[英]AndEngine stop animated sprite when destination reached
我正在使用AndEngine開發Android項目。 我有一個工作的動畫精靈,它會移動到屏幕上的某個觸摸位置。 我的問題是,一旦精靈到達目標位置,我似乎無法弄清楚如何停止動畫。 這是我的精靈運動和動畫代碼。 在此先感謝您的幫助。
編輯新代碼-
@Override
public boolean onSceneTouchEvent (Scene m_Scene, TouchEvent pSceneTouchEvent) {
if (pSceneTouchEvent.getAction() == TouchEvent.ACTION_UP) {
float touchX = pSceneTouchEvent.getX();
float touchY = pSceneTouchEvent.getY();
float[] minerLoc = sprMiner.getSceneCenterCoordinates();
float minerX = minerLoc[0];
float minerY = minerLoc[1];
MoveModifier sprModifier = new MoveModifier(5, minerX, touchX, minerY, touchY)
{
protected void onModifierStarted(IEntity pItem)
{
super.onModifierStarted(sprMiner);
// Start Walking Animation
sprMiner.animate(new long[] {150, 150, 150, 150, 150, 150, 150, 150}, 0, 7, true);
}
protected void onModifierFinished(IEntity pItem)
{
super.onModifierFinished(sprMiner);
//Stop Walking Animation
sprMiner.stopAnimation(0);
}
};
sprMiner.registerEntityModifier(sprModifier);
}
return false;
}
修飾符偵聽器:
有時您需要在特定時刻執行某些代碼,例如在開始或結束修飾符時執行此操作,只需在創建新修飾符時重寫某些方法即可。 為此,請遵循以下使用的方法:
RotationModifier yourModifier = new RotationModifier(3, 0, 360)
{
@Override
protected void onModifierStarted(IEntity pItem)
{
super.onModifierStarted(pItem);
// Your action after starting modifier
}
@Override
protected void onModifierFinished(IEntity pItem)
{
super.onModifierFinished(pItem);
// Your action after finishing modifier
//STOP ANIMATION HERE!!!
}
};
yourEntity.registerEntityModifier(yourModifier);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.