[Ace] How to make evented transition effect

Discussion in 'RMVX Ace Tutorials' started by TheoAllen, Mar 22, 2018.

  1. TheoAllen

    TheoAllen Self-proclaimed jack of all trades Veteran

    Messages:
    4,212
    Likes Received:
    4,668
    Location:
    Riftverse
    First Language:
    Indonesian
    Primarily Uses:
    RMVXA
    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 :
    [​IMG]

    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
    [​IMG]

    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)
    [​IMG]

    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.
     
    #1
  2. cabfe

    cabfe Cool Cat Veteran

    Messages:
    2,299
    Likes Received:
    2,356
    Location:
    France
    First Language:
    French
    Primarily Uses:
    RMVXA
    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 :)
     
    #2
    Guiguimu and TheoAllen like this.
  3. A-Moonless-Night

    A-Moonless-Night WINTER IS COMING Veteran

    Messages:
    477
    Likes Received:
    342
    Location:
    New Zealand
    First Language:
    English
    Primarily Uses:
    RMVXA
    That's so neat!
     
    #3
  4. BCj

    BCj Veteran Veteran

    Messages:
    1,400
    Likes Received:
    658
    Location:
    NL
    First Language:
    Dutch
    Primarily Uses:
    N/A
    This looks awesome, going to do some tests with it :D
     
    #4

Share This Page