TweenGMS – GameMaker: Studio Tweening Engine
Download: TweenGMS v0.88
HTML5 Example Demo
TweenGMS is an automated tweening system for GameMaker:Studio. It can be used for easing character/camera movements, fades, rotations, animations, and much more.
This system is still relatively new and may contain a few bugs. Feel free to report any issues you have with TweenGMS or to leave feedback on how it could be made better.
You can also check out TweenGMS in action with Battle Blocks / Sync Labs / Candy Crash.
[Features]
- No DLL required. (Uses GEX)
- Easy setup and management of numerous tweens
- Works across all target modules (Windows, Mac, iOS, Android, HTML5, Linux)
- Persistent tweens for persistent objects
- Optimized code supplying fast performance
- Ability to assign tweens to designated groups for increased control
Example Code:
// ** Create Event ** //
// Create automated tween references
tween_x = TweenCreate(id);
tween_y = TweenCreate(id);
// Ease instance's x/y position from (0, 0) to (640, 480) over 60 steps
TweenPlayOnce(tween_x, x__, 0, 640, 60, EASE_IN_OUT_QUAD);
TweenPlayOnce(tween_y, y__, 0, 480, 60, EASE_IN_OUT_QUAD);
// Pause active automated tween
TweenPause(tween_x);
// Stop active automated tween
TweenStop(tween_y);
// Resume paused automated tween
TweenResume(tween_x);
[Update Notes]
- Major update to shared_Tweener object -->> **REPLACE PREVIOUS VERSION**
* Faster
* More stable
* Fixed potential memory leaks
* STRONGER!
- Added Simple Tween Functions
*TweenSimpleMove()
*TweenSimpleScale()
*TweenSimpleFade()
*... etc ...
- Deactivated instances now retain their automated tween.
*Tween is automatically paused when instance is deactivated.
*Tween is automatically resumed when instance is activated.
- Not advised, but shared_Tweener can now be safely deactivated.(Will stop all tweens from running)
*Make sure to use --> instance_activate_object(shared_Tweener) <-- if you use mass deactivation functions.
- Changed included property setters x__Rounded/y__Rounded to x__int/y__int, respectively.
- Cut down TweenSetOnBoundary() to 2 scripts. Now use TArgs() to pass arguments.
* TweenSetOnBoundary()
* First version takes a single script constant.
* TweenSetOnBoundary(tween, KillPlayer);
* TweenSetOnBoundaryArgs() --> TArgs() utility script must be included to use this function
* Second version takes a script constant AND uses TArgs() utility script to pass arguments.
* TweenSetOnBoundaryArgs(tween, SuperMessageScript, TArgs("Your score is ", myScore));
- TweenSetVariableSetter() has been changed to TweenSetProperty()
- TweenGetVariableSetter() has been changed to TweenGetProperty()
If you feel so inclined, you may support TweenGMS by giving funds through PayPal to stephen@8bitwarrior.com
