java - AndEngine 在到达目的地时停止动画 Sprite

标签 java android animation andengine

我正在使用 AndEngine 开发一个 Android 项目。我有一个工作动画 Sprite ,它移动到屏幕上触摸的位置。我的问题是,我似乎无法弄清楚如何在 Sprite 到达目的地后停止动画。这是我的 Sprite 运动和动画的代码。预先感谢您的帮助。

编辑新代码---

@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);

来源:http://www.matim-dev.com/entity-modifiers.html

关于java - AndEngine 在到达目的地时停止动画 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24165591/

相关文章:

animation - 如何在svg中实现闪烁效果?

iphone - 如何最好地设置 UITableViewCell 或 UIButton 的动画以重复亮起红色

java - 格式化 Xstream 生成的 XML

java - Android Spinner 问题 - 构造函数 ArrayAdapter<String>(NewSRO, int, String[]) 未定义

Android:Canvas.DrawBitmap VS Drawable.Draw - 巨大的性能提升

android - "Buttery""pre-butter"Android 中的 fragment 动画

java - 如何在 Java 中表示 1..n 关系

java - 就地在链表上实现自然归并排序,并且只交换来自节点的项目

java - 使用 maven 在 tomcat 中使用共享父 spring 上下文处理多 war 设置

WPF MVVM属性更改动画