设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 92|回复: 0

[交流讨论] Custom Transitions/Screen Wipe

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    前天 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    4434

    主题

    864

    回帖

    2万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    22875
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    28203

    灌水之王

    发表于 前天 20:03 | 显示全部楼层 |阅读模式
    Makers: XP, VX, Ace

    Difficulty: Normal (2 / 5)

    Required Resources: (none)

    Foreward:

    If you've ever used RPG Maker 2000 or 2003, you should remember a useful little feature, the map transitions.  Events had commands that allow you to easily modify or use these to make your events and transitions more dynamic.  You could quickly wipe the screen with a transition then continue your event.  It was in general, a very useful tool.





    If you're using RPG Maker XP, VX, or Ace, you've already noticed that this feature no longer exists.  However, there is a fairly easy way to mimic this effect using a few different commands and script calls.  This tutorial will teach you how to use these during a cutscene and then how to set them up for a map transfer.

    Difficulty:

    This tutorial requires a rudimentary knowledge of how events function and flow.  Other than this, the methods shown here are relatively simple.  For this reason I feel this tutorial is somewhere around Normal level.  Notice that while the events shown in this tutorial are from Ace, the same basic skills may apply to other makers, just with slightly different names.

    Preparing:

    First of all, we need to prepare our custom transition.  This means getting the required files for the event.  Transitions use a black and white image to determine how the images are wiped.  XP had 20 of these, but VX and Ace only have one.  You can occasionally find some of these graphics listed as Battle Transitions on different websites.  Alternatively, you can make your own.  If you do, remember that the image wipes from the black sections first to the white sections last.

    Once you have your image, import it to the Graphics/System folder (or Graphics/Transitions in XP).  Go to the resource manager (or press F10), click the "Graphics/System" option on the left, and press import.  If the dialogue pops up asking you to select transparent and translucent colours, just press the "clear" button since we don't need those for this type of graphic.





    Performing a Basic Screen Wipe

    The first thing we'll learn to do is perform a screen wipe during a cutscene.  This method will allow you to fade the screen to black using a special transition, but still allow events to continue.  So let's set up the cutscene.

    Set up your cutscene however you like.  Maybe it's someone telling a story, maybe it's someone remembering something.  It doesn't really matter.  Create the cutscene up to where you want the screen wipe to occur.  We now have 4 steps to produce the screen wipe:


    • Set up a script call to freeze the screen with the following function:

      Graphics.freeze
              This command stops graphics from being updated and allows us to do almost whatever we want in the following bits of event without the screen being updated.  This leads us to our next command.

              Note: Since this script call will occur with any leftovers currently on screen, such as text boxes, it may be worth adding a wait command right before it.  10 frames should do the trick if you're waiting for a text box.
               
    • Set up a screen tint and tint the screen to black.  This is pretty basic and you may have already been using it for a simple fade transition.  There is one slight difference in this case.  Since we froze the screen, the screen will not actually fade.  In fact, if you run the event as is, the game will seem to have frozen or crashed.  We want this to occur so far.  Since we're not able to see the actual fade, set the duration to 1 frame, so it performs the next step almost instantly.
               
    • Set up a script call for the transition image.  Due to the limit of size in the script call box in Ace, we're going to do this in two lines, both of which I will explain here.

              This first line is used to find the graphic.  For this demonstration, I will use the BattleStart graphic in Ace and VX as well as a basic transition from XP.  The first line of the script call should look like one of the following:

                      Code:       
      1. image = "Graphics/System/BattleStart"
      复制代码

                      Code:       
      1. image = "Graphics/Transitions/020-Flat01"
      复制代码

              The first script call is for VX and Ace, the second is for XP.  You can replace "BattleStart" or "020-Flat01" with the name of your transition image.  All this step does is save the name of the transition image into a variable for later use.
               
    • Perform the actual transition.  This is done with another line of code which can be place in the same script box under the last one.  The line is as follows:

                      Code:       
      1. Graphics.transition(30, image)
      复制代码

              This script call tells the game to perform a transition from a frozen screen to the current screen.  Since our screen is still frozen on a normal screen, the transition will occur and fade the screen to black using the selected image.  We can then continue our cutscene like normal, and when we're ready we can tint the screen back to a normal colour.  Also worth mentioning, the "30" in this script call is the number of frames the transition takes.  To cause it to take longer we can increase the number, or to cause it to take a shorter amount of time we can decrease the number.
    If you followed the directions, your event should look something like this one:





    Performing a Custom Map Transfer

    This method is similar to the one we just did a moment ago, but has a few additional steps.  To set it up, create a new event you want to use for the transfer.  We then have just a few steps to go.


    • Repeat steps 1-4 from above.  There's nothing else to this part.
               
    • Set up the map transfer with no default fade.  In the bottom right of the transfer player dialogue box, there is an option that says "Fade" or "Fading".  In XP set this to "no", and in VX/Ace set this to "none".  This ensures we don't waste any time with the transfer which actually takes 1.25 seconds to perform.  In this case it will just do the transfer and skip right to our next step.
               
    • Add in a wait command (optional).  As I just mentioned, an actual transition in Ace takes 1.25 seconds, or 75 frames to perform.  This is broken down as 30 frames for the fading out, 15 frames of waiting, and 30 frames of fading in.  This step is completely optional and you can have the transition occur instantly, but it will look a little awkward.  Alternatively, you can perform just about anything else during this step such as changing variables or switches.
               
    • Repeat the Graphics.freeze step from above.  See step 1 from "Performing a Basic Screen Wipe".
               
    • Set up a screen tint to the desired colours.  In this case we are fading in rather than fading out, so select the desired tint for the new map.
               
    • Set up the transition image and perform the transition.  See steps 3 and 4 from "Performing a Basic Screen Wipe".
    And that's pretty much all there is to it.  If done properly, your event should look like this one:





    Author's disclaimer:

    So, it's not the quickest method, but it is a pretty decent method for erasing and redrawing the screen with transitions.  You could also skip a few of the middle steps to perform a transition from one map to another with just a transition and no screen fade.  Really there are quite a few different options.  This also shows how minimal scripting effort is required for certain things.  I'm sure people will think of ways to use this that I never could have imagined, that's why I wanted to share this trick.  As always, enjoy!


    本贴来自国际rpgmaker官方论坛作者:Neon Black处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/custom-transitions-screen-wipe.12797/

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-7-14 12:54 , Processed in 0.114887 second(s), 56 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表