[VX ACE] EASE SCRIPT – VARIED AND SMOOTH MOVEMENT FOR MOVE / TINT PICTURE AND MOVE ROUTES
Posts
Pages:
1
Since I'm sure not everyone is familiar with the term "easing", I thought I'd "advertise" my script here and explain what it does through the use of youtube videos.
Easing is the use of mathematical formulas to change the movement curve of a property; you can make a bouncing ball animation, a fast-to-short speed slide, and many other variations simply by setting the start and end value of a parameter. This comes in especially handy for Move Picture, and for script calls in Move Routes. Take a look at the following videos:
The video above shows how a Move Picture event and a Tint Picture event are changed based on the selected easing method; the duration and settings in the events are the same, only the applied easing algorithm changes, to often drastic effect. Here's a screenshot of how easy it is to set an easing method:
By setting the Game_Picture.easing value to Easing::BOUNCE_OUT, all subsequent calls to Move Picture and Tint Picture are affected. You can set different easing methods for tint and move by adding another script call in between them, and there is no limit to how many pictures you can animate like this at any time. The script hooks into the update loop and replaces the default animation methods with the new easing one; as far as I can tell, there is no performance hit whatsoever.
This second video shows the use of three new Move Route script calls you can call to use easing for moving events and characters:
* ease_moveto(x, y, duration, easing_method)
* ease_moveto_char(char_id, duration, easing_method)
* ease_opacity(opacity, easing_method)
For more information, check out the script's page: http://rpgmaker.net/scripts/356/
If you have any questions or feedback, I'd love to hear from you!
Easing is the use of mathematical formulas to change the movement curve of a property; you can make a bouncing ball animation, a fast-to-short speed slide, and many other variations simply by setting the start and end value of a parameter. This comes in especially handy for Move Picture, and for script calls in Move Routes. Take a look at the following videos:
The video above shows how a Move Picture event and a Tint Picture event are changed based on the selected easing method; the duration and settings in the events are the same, only the applied easing algorithm changes, to often drastic effect. Here's a screenshot of how easy it is to set an easing method:
By setting the Game_Picture.easing value to Easing::BOUNCE_OUT, all subsequent calls to Move Picture and Tint Picture are affected. You can set different easing methods for tint and move by adding another script call in between them, and there is no limit to how many pictures you can animate like this at any time. The script hooks into the update loop and replaces the default animation methods with the new easing one; as far as I can tell, there is no performance hit whatsoever.
This second video shows the use of three new Move Route script calls you can call to use easing for moving events and characters:
* ease_moveto(x, y, duration, easing_method)
* ease_moveto_char(char_id, duration, easing_method)
* ease_opacity(opacity, easing_method)
For more information, check out the script's page: http://rpgmaker.net/scripts/356/
If you have any questions or feedback, I'd love to hear from you!
That second one is far more impressive! The first one has pictures moving so fast, is that because you put a low wait time? It can move slower, right? Some of them don't look any different, if it's different speeds then having them move so fast wasn't such a good idea to show that off. I'll try this out some time. Do you think this script will have low potential of conflicting with other scripts? I'm new to using scripts and I don't know if that's even a valid question.
Yes, you can have different speeds/durations, and it also works with however many pictures you want to move at the same time :) The idea was to show what just changing the easing method would do when the Move / Tint Picture commands were the same. But I think you're right, and I'll put together a more comprehensive video to show more variation in what can be achieved, using actual footage from my own game :)
In terms of compatibility, this script is made to be as compatible as possible, which is also why it works with the editor's built in Move and Tint Picture event calls; on the surface, no core methods are changed. I've been very careful with not changing the core engine methods in any way when it comes to parameters as well, and the easing motion hooks into the core update loop, progressing the motion every frame so that there's absolute consistency.
In terms of compatibility, this script is made to be as compatible as possible, which is also why it works with the editor's built in Move and Tint Picture event calls; on the surface, no core methods are changed. I've been very careful with not changing the core engine methods in any way when it comes to parameters as well, and the easing motion hooks into the core update loop, progressing the motion every frame so that there's absolute consistency.
Pages:
1














