![](/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.