[Ace] How to make evented transition effect

● ARCHIVED · READ-ONLY
Started by TheoAllen 4 posts View original ↗
  1. Background :
    This started from my project I'm working on. I wanted to create a seamless map change. But I don't want to go fadeout and fadein effect and change map in between. Then I was thinking, why not implement transition effect like how the transition implemented on map to menu screen and vice versa, but applied it on map? Then this idea come up. As a disclaimer, I'm not sure if this tutorial had been written somewhere else, so I hope it's not a duplicate tutorial.

    Basically, we're going to do this :
    Spoiler
    UuJKkW6.gif

    Now, how?
    While I said "evented", you obviously still gonna need two script calls, so it's not really a pure "evented", but hey at least you don't need external script to do this.

    What you need to do is to put the event with this template.
    Screenshot_198.png
    Two script calls you will need.
    Put this first
    Code:
    Graphics.freeze
    And this
    Code:
    Graphics.transition(duration)
    Duration is based on frame. So the smaller number is, the faster the transition will be.

    Note that you will have to put the wait command right before the transition or else the transition will not happen.

    For example on the gif inside the spoiler, I use this
    Screenshot_199.png

    You can also put a transition image. For example, I will use a default battle start from RTP file. The code will be like this
    Code:
    Graphics.transition(60, "Graphics/System/BattleStart")

    And the transition will be like this
    Spoiler
    fV35HoZ.gif

    Ok, so what can you do with this?
    You can do other things as well, not always transfer map. Something like changing the thing on map. For example, change event graphics and/or rearrange the event position while the screen is being frozen, then perform transition after that. Or maybe you can do it while doing tile swap, and make a transition between in between.

    Another implementation would be like this.
    Screenshot_200.png
    This does not transfer the map id, but it DOES change the map (or I'd say, something on game screen)
    Spoiler
    ZlGnYxz.gif

    What you can't do with this?
    The transition completely freeze the screen. So while perform transition, you can't walk, and everything else like event (parallel, autorun) will stop for a moment until the transition is finished.

    Closing
    Hope this little tutorial helps for people who use VXAce. I don't know if the equivalent function is present in MV. So you better ask people who expert in MV. If you have feedback, questions, or suggestions, feel free to leave a comment.
  2. Thanks!
    I had been looking into it but didn't think of freezing the Graphics first...
    No wonder it didn't work.
    I used a workaround but this system looks better. Time to rewrite my transition system :)
  3. That's so neat!
  4. This looks awesome, going to do some tests with it :D