Skip to content
dorkbox edited this page Jul 29, 2017 · 28 revisions

Code license

Apache License 2.0

Changelog

8.0

  • Bug fixes
  • Renamed tween.kill() -> tween.cancel()

7.0

  • code forked from original, abandoned project (JavaUniversalTweenEngine by Aurelien Ribon)

  • ! fixed a bug where the yoyo animation was incorrect at end of animation

  • Updated pool default capacities, added threadsafe(ish) error checking for setting pool sizes

  • Changed pool implementation to a faster (for java) one. Will block when pool is empty.

  • code and javadoc cleanup & polish

  • engine implementation converted to uses a state machine for bare-minimum logic/updates

  • significantly reduced number of math operations and logic branching

  • applets + libGDX demo now working with current codebase

  • Tweens/Timelines can be added at any point in time (even after it has started)

  • API CHANGES

  • built-in easing/waypoint functions are now enums

  • custom easing/waypoint functions can still implement an interface

  • Timeline/Tween.ensurePoolCapacity(int) --> Timeline/Tween.setPoolSize(int)

  • Tween/Timeline.addCallback(TweenCallback) - now supports multiple callbacks

  • TweenCallback.setTrigger(int) - change the triggers for a specific callback

  • Tween/Timeline.*Yoyo() --> Tween/Timeline.*autoReverse()

    • API Additions
  • Tween/Timeline.setStart/EndCallback() - Adds callbacks to the start/end of an update cycle. Useful for synchronizing values on different threads (ie: an animation update thread and a render thread)

  • Tween/Timeline.clearCallbacks() - clears all callbacks

  • Tween/Timeline.setPosition() - sets the position to a specific point (as a percentage) in time

  • TweenManager.resetUpdateTime() - to reset the last time the tweenManager had "update" called. This is useful when the timer TweenManager.update() is called on, has been stopped for a while. This prevents the "first" update call to 'snap' to the target values because the delta update was so large.

6.3.3

  • ! fixed a bug allowing users to manipulate tweens/timelines when pooled,
  • ! fixed a bug in timeline preventing some tweens to start under special condition,
  • ! fixed a bug in setCallback which reset the triggers to 'complete'

6.3.2

  • ! Fixed the GWT module definition

6.3.1

  • ! Fixed an issue with infinitely repeated tweens/timelines firing the complete/back_complete events.

6.3.0

    • Greatly improved precision and reliability of callbacks, especially for timeline children. Every single callback should now be correctly fired, even if the update delta is very big (due to some lag for instance)!
    • Added a GWT module definition to the library!
    • Library should now properly support multi-threading (but is still not thread-safe, by design).
    • Added many methods to TweenManager to list its objects.
  • ! Removed java raw types from the API (sorry 'bout that)

6.2.0

    • Added a lot more precision to timings by changing ints to floats.
    • Added paths for tweens through the 'waypoint()' method, no more linear transitions!
    • Added bezier paths (this is the default if you use waypoints).
    • Added TweenPaths static collection for paths implementations.
    • Added TweenEquations static collection for easing equations.
    • Added delay() to timelines too.
    • Added a completely new demo to promote the engine!
  • * Improved performances by removing a lot of useless computations.
  • * Greatly reduced the memory footprint of each tween object.
  • * Object pooling is now enforced everywhere.
  • * [api break] Callback registration was changed to reduce memory footprint.
  • ! fixed a few potential bugs with kill() method and with timelines.

6.1.1

  • ! fixed a bug preventing timelines from being removed when using TweenManager.killTarget().

6.1.0

    • Added Tween.cast() to let you cast your targets to the class or interface you want, in order to use a specific TweenAccessor.
    • Added pause()/resume() methods to Tween, Timeline and TweenManager.
    • Added MutableFloat and MutableInteger as quick tweenable primitive types.
  • ! Fixed many minor bugs.

6.0.0

    • Zero allocation! Use the engine safely in Android!
    • Very robust engine, shouldn't lost a single millisecond in updates.
    • You can now apply tweens directly on your objects, there is no need that they implement some interface!
    • As a result, the Tweenable interface is no more. It has been replaced by a TweenAccessor that can be registered statically to the engine.
    • Repetitions can now be played in 'yoyo' mode: every odd iteration is played backwards.
    • Callbacks were all changed, you have BEGIN, START, END, COMPLETE, and similar ones for backwards playing.
    • TweenGroup is no more: welcome 'Timeline'.
    • Timelines can be repeated, yoyo style too.
    • Nested timelines can be repeated too!
    • Timelines now support callbacks! And all the callbacks used in Tween are working in Tiemlines!
    • Several protections were added to prevent you from misusing the engine.
    • Extensive javadoc was added to every public classes and methods!
Clone this wiki locally