KC_MoveRouteTF - Rotate, Translate, and Scale Characters During Move Routes [MV / MZ]

KelIy

JS Plugin Writer
Member
Joined
Jul 8, 2022
Messages
28
Reaction score
46
First Language
English
Primarily Uses
RMMZ
KC_MoveRouteTF 1.0.0
by Kelly Chavez

Introduction
I felt my cutscenes were a bit bland, so I wrote a few functions to let me add a little flair to my move routes.

Features
This script is fairly minimal in terms of parameters. All they do is allow individual portions of the plugin to be disabled for compatibility. The real meat of this plugin is in the methods added to the character objects that can be easily accessed through move route commands.

Screenshots
optimgif.gif

How to Use
Using the script is as simple as adding it via the plugin manager and using the script calls in your move route commands.

Script Calls
All of these functions are accessed via the move route commands and prefixed with 'this.'. So, for example, to rotate a character 90 degrees clockwise, you would write 'this.rotate(90)' in the move route command. All arguments have default values used if they are not explicitly defined by the developer. See plugin help for more details.

  • Getter Functions:
    • scaleX(), scaleY(), translationX(), translationY(), rotation()
    • Each of these functions returns the CURRENT value of their respective transformations
  • Setter Functions:
    • rescaleXTo(scale, duration, wait), rescaleYTo(scale, duration, wait), rescaleTo(x, y, duration, wait), translateXTo(x, duration, wait), translateYTo(y, duration, wait), translateTo(x, y, duration, wait), rotateTo(angle, duration, wait)
    • rescaleX(scale, duration, wait), rescaleY(scale, duration, wait), rescale(x, y, duration, wait), translateX(x, duration, wait), translateY(y, duration, wait), translate(x, y, duration, wait), rotate(angle, duration, wait)
    • Each of these functions transforms the character's sprite. Functions suffixed with 'To' transform the character until they reach the value(s) passed into the function.
    • Functions not suffixed with 'To' offset the current transformation by that amount.
    • To demonstrate the difference between these functions, consider the function calls this.rescaleY(1) and this.rescaleYTo(1) on a character whose vertical scale is 1. this.rescaleY(1) would leave the character with a y scale of 2 (current scale + value = 1 + 1 = 2) whereas this.rescaleYTo(1) would leave the scale at 1.


Demo (MZ)
Current Version (1.0.1) - Google Drive
Old Version (1.0.0) - Google Drive

Demo (MV)
Current Version (1.0.1) - Google Drive
Old Version (1.0.0) - N/A

Download
GitHub (Right-click 'Raw' and select 'Save link as...')

Compatibility Notes
  • Plugin (MZ): VisuMZ_1_EventsMoveCore
    • This plugin's rotation functionality is incompatible with the "Dash tilt?" option of the listed plugin. If you do not plan on using rotations and want to keep Dash tilt enabled, it is recommended that you disable the rotation functionality of this plugin since the rotation functionality changes the pivot point of characters to the center, which is undesirable for that feature. Disabling Dash tilt in EventsMoveCore restores rotation functionality of this function.
    • I have no plans to improve compatibility with that plugin since it appears to be obfuscated, and I do not wish to bother the author(s).

Changelog
  • 7/20/2022 - v1.0.1
    • Fixed aliasing on Game_CharacterBase.prototype.update
    • Changed how rotations are handled internally to support MV
  • 7/19/2022 - v1.0.0
    • Initial Release

Terms and Credits
I've released this plugin under the MIT license. So, you can include this plugin in any project as long as you include the license with your distribution. For most projects, this requirement is fulfilled as long as you keep the license text that is at the top of the plugin's js file intact.

Also, though not strictly required, I would appreciate being credited as K. Chavez or Kelly Chavez in your games' credits.
 
Last edited:

Raggon

Veteran
Veteran
Joined
Sep 29, 2018
Messages
111
Reaction score
75
First Language
english
Primarily Uses
RMMV
yikes! nice!... mz only?
 

KelIy

JS Plugin Writer
Member
Joined
Jul 8, 2022
Messages
28
Reaction score
46
First Language
English
Primarily Uses
RMMZ
yikes! nice!... mz only?
Originally, yes. Looking at MZ and MV now though, I believe they are similar enough that it is worthwhile for this plugin to be developed with both engines in mind. I have released a small update addressing the one incompatibility I could find. I will work on an MV demo project when I have the time to. Please let me know if you find any issues.
 
Last edited:

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
7,222
Reaction score
2,855
First Language
Dutch
Primarily Uses
RMMV
I downloaded the MV version to check out later.

I got to say, there are some really nice things from the give, specailly
the one at the bed :p

good job on making both version.
 

Raggon

Veteran
Veteran
Joined
Sep 29, 2018
Messages
111
Reaction score
75
First Language
english
Primarily Uses
RMMV
hey hey i downloaded the Mv version and its stil MZ?
 

KelIy

JS Plugin Writer
Member
Joined
Jul 8, 2022
Messages
28
Reaction score
46
First Language
English
Primarily Uses
RMMZ
hey hey i downloaded the Mv version and its stil MZ?
My bad! I'd copied the wrong link when updating the thread :eswt:

Should be pointing to the correct demo now!
 

Raggon

Veteran
Veteran
Joined
Sep 29, 2018
Messages
111
Reaction score
75
First Language
english
Primarily Uses
RMMV
My bad! I'd copied the wrong link when updating the thread :eswt:

Should be pointing to the correct demo now!
Lol that's ok thanks!
 

ShadowDragon

Realist
Veteran
Joined
Oct 8, 2018
Messages
7,222
Reaction score
2,855
First Language
Dutch
Primarily Uses
RMMV
I noticed that too, but copy the MV "game.exe" to it to make it work.
but while it has "translation" to move actors by pixel movement on
events alone and can be used by "offset x/y", it's pretty neat.

I still need to understand how exactly everything works in it's place.
but I love the effect on the salto and rescaling option with move routes.
 

rwc123

Villager
Member
Joined
May 22, 2022
Messages
14
Reaction score
5
First Language
english
Primarily Uses
RMMZ
Thank you for creating this! Now i can make my pinwheel on the tile sheet spin without creating an animation sheet! Saves Time and Space!
 

Latest Threads

Latest Profile Posts

After an entire year, finally made new story cutscenes. Ones that take place after the current last boss. Praise be.
That moment when you're getting a new update ready, deploy it for the final round of testing (gotta make sure the deployed version runs, ya know?) andddddd there's a visual blip :ysrs: Doesn't impact gameplay. It's only on-screen for a few seconds. But you can't leave it there.
So now you have to fix it, then redeploy, then retest. Why do I do this to myself.
So I'm reading a sci-fi book called Berserker Man. Now, the 'Berserker Man' isn't a man or a Berserker. He is actually a very calm 11 year-old-boy. So misleading title. He was recruited to fight these emotionless killing machines called Berserkers. Also confusing. I will read it until it starts making sense.
A few tweaks and changes, now the load screen is literally loading :kaoswt:
loading.gif
I tried a new thing.

fg.png

Forum statistics

Threads
129,798
Messages
1,205,257
Members
170,904
Latest member
SenatorIvy
Top