Android 如何在触摸后使用andengine将精灵从一个位置平滑移动到另一个位置?

Android 如何在触摸后使用andengine将精灵从一个位置平滑移动到另一个位置?,android,coordinates,sprite,andengine,Android,Coordinates,Sprite,Andengine,我有一个精灵,一接触就必须开始沿着Y坐标移动。 当运动达到默认Y坐标时,我需要停止运动。 我尝试过使用setposition(),但没有平滑移动(如动画) 我怎样才能做到这一点 我已经尝试过setvelocity(),但我不知道如何在某个坐标处停止运动 @Override public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final f

我有一个精灵,一接触就必须开始沿着Y坐标移动。 当运动达到默认Y坐标时,我需要停止运动。 我尝试过使用setposition(),但没有平滑移动(如动画) 我怎样才能做到这一点

我已经尝试过setvelocity(),但我不知道如何在某个坐标处停止运动

          @Override
            public boolean onAreaTouched(final TouchEvent pSceneTouchEvent,
                    final float pTouchAreaLocalX, final float pTouchAreaLocalY) {

                if(pSceneTouchEvent.isActionDown()){
                    //TOCCO DELLO SPRITE

                    PhysicsHandler physicsHandler = new PhysicsHandler(this);
                    this.registerUpdateHandler(physicsHandler);
                    physicsHandler.setVelocityY(-5f);



                    se.getChild(1).detachChild(this);
                    se.getChild(2).attachChild(this);


                }
我也尝试过这条路,但我不太了解它是如何工作的

编辑

据Jong说,我用过移动修改器。它的工作,但在avd的运动似乎急促。我将很快试用一个设备,但这只是avd的问题吗? 我是这样做的:

   if(pSceneTouchEvent.isActionDown()){

                    //TOCCO DELLO SPRITE

                    se.getChild(1).detachChild(this);
                    se.getChild(2).attachChild(this);


                    MoveYModifier mod = new MoveYModifier(3, getY(), pSceneTouchEvent.getY()- gap);
                    this.registerEntityModifier(mod);


                }
编辑2
在设备上测试,效果良好!非常顺利

使用
MoveModifier
,阅读更多信息。

它有效!!谢谢!但在avd上,这一运动似乎有些急促。我很快会试用一个设备,但你知道这是否只是avd的问题吗?我是这样做的:
if(pSceneTouchEvent.isActionDown()){//TOCCO DELLO SPRITE se.getChild(1).detachChild(this);se.getChild(2).attachChild(this);MoveYModifier mod=new MoveYModifier(3,getY(),pSceneTouchEvent.getY()-gap);this.registerEntityModifier(mod);}
为什么要将
this
附加到场景?什么是
se
?再详细一点。包含这段代码的类是'Sprite',对吗?你是对的,“se”是场景,我有这样声明的方法:
Sprite=newsprite(dataV.elementAt(i.x,dataV.elementAt(i.y,tRegionV.elementAt(i))//gestione del drag&drop{@Override public boolean onreatouched(final TouchEvent pSceneTouchEvent,final float pTouchAreaLocalX,final float pTouchAreaLocalY){if(pSceneTouchEvent.isActionDown()){
so“this”是精灵本身。但是我已经在设备上进行了测试,并且您推荐的movemodifier工作得很好!我不确定您是否可以将同一个精灵对象附加到不同的实体父对象…但是如果它工作,那就太好了:)哦,我没有注意到其中一个方法是“分离”,另一个是“附加”,认为这两个方法都是“附加”^^好的。