Аддитивные подростки с Universal Tween Engine в libgdx?

У меня есть sprite looping tween, как бездельная анимация. Я хочу добавить к нему еще одну анимацию, поэтому они оба играют одновременно. (Например, если моя первая анимация движется вверх, а моя вторая анимация движется вправо, я хочу, чтобы она двигалась вверх и вправо.)

Но всякий раз, когда я играю в свою вторую анимацию, она, кажется, полностью отменяет первый. Что я делаю не так?

Вот мой код:

Tween.to(sprTurtle, SpriteAccessor.POS_XY, 0.4f) .waypoint(posTurtle[0] + (20 * density), posTurtle[1] + (20 * density)) .target(posTurtle[0] + (30 * density), posTurtle[1]) .ease(Quad.INOUT) .path(TweenPaths.catmullRom) .repeatYoyo(Tween.INFINITY, 0) .delay(0.1f) .start(tweenManager); Tween.to(sprTurtle, SpriteAccessor.POS_XY, 1f) .target(50, 50) .repeat(Tween.INFINITY, 0) .start(tweenManager); 

Этот код будет делать изображение в cont2, которое является ViewContainer для перемещения сначала с (0,100), затем в (100, 100) в последовательности.

  Timeline.createSequence() .push(Tween.set(cont2, ViewContainerAccessor.POSITION_XY)) .push(Tween.to(cont2, ViewContainerAccessor.POSITION_XY, 0.5f).target(0,100)) .push(Tween.to(cont2, ViewContainerAccessor.POSITION_XY, 0.5f).target(100,100)) .start(tweenManager); 

В моем коде изображение сначала опускается, затем идет вправо.

Возможно, в вашем коде должно быть так

  Timeline.createSequence() .push(Tween.to(sprTurtle, SpriteAccessor.POS_XY, 0.4f) .waypoint(posTurtle[0] + (20 * density), posTurtle[1] + (20 * density)) .target(posTurtle[0] + (30 * density), posTurtle[1]) .ease(Quad.INOUT) .path(TweenPaths.catmullRom) .repeatYoyo(Tween.INFINITY, 0) .delay(0.1f)) .push(Tween.to(sprTurtle, SpriteAccessor.POS_XY, 1f) .target(50, 50) .repeat(Tween.INFINITY, 0)) .start(tweenManager); 

Если вы действительно хотите, чтобы два изображения перемещались одновременно, вам нужно будет создать два ViewContainers, чтобы они могли перемещаться одновременно.

В MainActivity.java официального демо apk вы можете увидеть следующий код. Я добавляю LinearLayout genueHamster2 и VieewContainer cont2 для перемещения двух изображений одновременно.

  private LinearLayout genueHamster; private LinearLayout genueHamster2; // I add another LinearLayout so we could have // two images at the same time. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //Setup it // a linearlayout in activity_main.xml genueHamster = (LinearLayout) findViewById(R.id.main_cont); // add for second image genueHamster2 = (LinearLayout) findViewById(R.id.main_cont_2); setTweenEngine(); } public void startAnimation(View v) { // Create object which we will animate ViewContainer cont = new ViewContainer(); // Add a new container for the second image. ViewContainer cont2 = new ViewContainer(); // pass our real container cont.view = genueHamster; // put it into the second container cont2.view = genueHamster2; // /start animations // Now you can have two images moving at the same time. Tween.to(cont, ViewContainerAccessor.POSITION_XY, 0.5f) .target(500, 0).ease(Bounce.OUT).delay(1.0f) .start(tweenManager); Tween.to(cont2, ViewContainerAccessor.POSITION_XY, 0.5f) .target(0, 500) .ease(Bounce.OUT) .delay(1.0f) .repeatYoyo(2, 0.5f) .start(tweenManager); } 

То, что вы ищете, это метод Timeline.createParallel .

Intereting Posts
Как отлаживать сообщения BOOT_COMPLETE в широковещательном приемнике «Force Close»? Пользовательский составной режим просмотра и восстановления пользовательских композиций Android не работает Пределы использования API часовых поясов Google Я обновил Android от targetSdk 22 до 23, и я получаю NoSuchMethodError. Как я могу это исправить? Загрузка Android-изображений в ListView Java.lang.OutOfMemoryError: размер растрового изображения превышает бюджет VM Можно ли вызвать startActivity () изнутри onResume ()? Google Analytics для отслеживания id отслеживания Android Кордове не удается построить андроид (зависимость от GCM) Как сделать салфетки для удаления карт в android с помощью библиотеки поддержки BottomSheetDialogFragment – Как обернуть контент и полностью отобразить? Почему Gradle нужен файл settings.gradle? Как установить атрибут android: layout_alignParentLeft для просмотра изображений в коде? Почему Jenkins Android Emulator Plugin воссоздает мои снимки эмулятора в каждой сборке? Как разрешить пользователю выбирать текстовый диапазон в TextView (аналогично EditText)