Как переместить спрайт после касания из одного места в другое плавным движением с двигателем? - PullRequest
0 голосов
/ 20 ноября 2011

У меня есть спрайт, который при прикосновении должен начать двигаться по координате 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 я использовал MoveYModifier.Это работает, но на 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);


                }

EDIT 2 протестирован на устройстве и работает хорошо!очень гладко!

1 Ответ

1 голос
/ 20 ноября 2011

Используйте MoveModifier, подробнее здесь .

...