Есть ли эквивалент TweenMax в Java? - PullRequest
4 голосов
/ 11 февраля 2011

Я все еще относительно новичок в разработке на Java и Android, поэтому я все еще незнаком с множеством библиотек, доступных для использования, особенно для анимации. Откуда я (мир Flash), у нас есть доступ к нескольким сторонним движкам твенинга, которые очень облегчают нам жизнь, когда мы хотим программно перемещать вещи по сцене, не полагаясь на (значительно уступающий) встроенный Adobe API анимации. Одним из самых популярных является Greensock TweenMax

Глядя на то, как Android обрабатывает твининг изначально, он выглядит очень громоздким по сравнению с тем, к чему я привык. Мне любопытно, есть ли для Android библиотека, эквивалентная TweenMax, которая делает последовательность анимации одинаково легкой для записи в коде с преимуществами интеллектуального интеллектуального анализа вместо необходимости записывать их все во внешний файл animation.xml в папка res.

Ответы [ 3 ]

7 голосов
/ 26 марта 2012

Извините, что так недавно ответил на эту тему, но есть более независимый от фреймворка ответ на ваш вопрос: java Universal Tween Engine.

http://code.google.com/p/java-universal-tween-engine/

enter image description here

Эта библиотека начиналась как способ имитировать функциональность TweenMax / Lite в любом Java-проекте и заканчивалась как законченный, независимый движок анимации. Он оптимизирован для Android (без динамического выделения), но может использоваться практически в любом Java-проекте, например, Swing UI или OpenGL ...

Вы не должны быть потеряны, если вы пришли из мира TweenMax, так как базовый синтаксис очень похож:

Tween.to(myObject, POSITION, 1000).target(20, 30).ease(Elastic.OUT).start(myManager);

Хотя временные шкалы немного отличаются, но все же их легко понять:

Timeline.createSequence()
    // First, set all objects to their initial positions
    .push(Tween.set(...))
    .push(Tween.set(...))
    .push(Tween.set(...))

    // Wait 1s
    .pushPause(1000)

    // Move the objects around, one after the other
    .push(Tween.to(...))
    .push(Tween.to(...))
    .push(Tween.to(...))

    // Then, move the objects around at the same time
    .beginParallel()
        .push(Tween.to(...))
        .push(Tween.to(...))
        .push(Tween.to(...))
    .end()

    // And repeat the whole sequence 2 times
    .repeatYoyo(2, 500)

    // Let's go!
    .start(myManager);

Надеюсь, это поможет:)

1 голос
/ 24 февраля 2011

На самом деле, я думаю, что нашел что-то близкое к тому, что я просил.Здесь есть порт Cocos2D для Android: Cocos2D для Android

Он не совсем свободен от ошибок (в основном это касается системы частиц), но предлагает широкий спектр функций анимации и отображениядля тех вещей, для которых вы бы использовали Greensock.Он даже поставляется с портом Box2D поверх всего этого.

1 голос
/ 11 февраля 2011

Вам не нужно использовать файлы XML, вы можете использовать Animation, AnimationSet и различные реализации Interpolator.Android 3.0, однако, предоставляет гораздо более мощный API анимации.

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