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

[转载发布] Title Screen Manager

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

    连续签到: 2 天

    [LV.7]常住居民III

    9015

    主题

    864

    回帖

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

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

    灌水之王

    发表于 2026-7-27 20:57:10 | 显示全部楼层 |阅读模式
    Title Screen Manager
    by
    MobiusXVI


    Release Notes
    Apr 2026 - v. 1.0 Initial Release

    Introduction
    This script allows you to:

    • Add custom commands to the title screen
    • Remove existing commands from the title screen
    • Re-order commands however you like
    • Move the command window to a new location
    • Change the command window's opacity, width, and font color
    • Change the title screen's background

    Instructions
    Copy the script into the script editor below the default scripts but above Main. If you're using other scripts which affect the title, I recommend placing this script above them in the script editor. Follow the instructions and configuration guidance within the script itself.

    Script
    Spoiler                Ruby:       
    1. #===============================================================================
    2. # Mobius' Title Screen Manager
    3. # Author: Mobius XVI
    4. # Version: 1.0
    5. # Date: 30 APR 2026
    6. #===============================================================================
    7. #
    8. # Introduction:
    9. #
    10. #   This script allows you to:
    11. #   - Add custom commands to the title screen
    12. #   - Remove existing commands from the title screen
    13. #   - Re-order commands however you like
    14. #   - Move the command window to a new location
    15. #   - Change the command window's opacity, width, and font color
    16. #   - Change the title screen's background
    17. #
    18. #
    19. # Instructions:
    20. #
    21. #  - Place this script below all the default scripts but above main.
    22. #    If you're using other scripts which affect the title, I recommend
    23. #    placing this script above them in the script editor.
    24. #
    25. #  - The customization section below has additional instructions
    26. #
    27. #  - If you want to change the title background during play,
    28. #    you can use the following script calls in events:
    29. #
    30. #        Mobius::TitleScreenManager.\
    31. #        change_title_to_named \
    32. #        :castle
    33. #
    34. #        Mobius::TitleScreenManager.\
    35. #        change_title_to_file \
    36. #        '001-Title01'
    37. #
    38. #        Where you replace the name (':castle' or '001-Title01') with
    39. #        either a named background key (see NAMED_BACKGROUNDS) or a
    40. #        specific filename for a title in the Graphics/Titles folder.
    41. #
    42. #  - If you want to change the title BGM during play,
    43. #    you can use the following script calls in events:
    44. #
    45. #        Mobius::TitleScreenManager.\
    46. #        change_bgm_to_named \
    47. #        :lullaby
    48. #
    49. #        Mobius::TitleScreenManager.\
    50. #        change_bgm_to_audio \
    51. #        '063-Slow06', 100, 100
    52. #
    53. #        Where you replace the name (:lullaby) with a named BGM key
    54. #        (see NAMED_BACKGROUND_MUSIC) or replace the name and numbers
    55. #        ('063-Slow06', 100, 100) with a specific filename for a BGM
    56. #        in the Audio/BGM folder and the desired volume and pitch.
    57. #
    58. #  - If you want to change the title command window configuration during play,
    59. #    you can use the following script calls in events:
    60. #
    61. #        Mobius::TitleScreenManager.\
    62. #        change_command_to_named \
    63. #        :wide_center
    64. #
    65. #        config = {
    66. #          'width' => 320,
    67. #          'opacity' => 20,
    68. #          'use_anchor' => true,
    69. #          'anchor' => :top_right,
    70. #          'text_align' => :center,
    71. #        }
    72. #        Mobius::TitleScreenManager.\
    73. #        change_command_to_config \
    74. #        config
    75. #
    76. #        Where you replace the name (:wide_center) with a named command window
    77. #        config key (see NAMED_COMMAND_WINDOWS) or replace the hash with
    78. #        specific configuration settings for the command window.
    79. #
    80. #
    81. # Issues/Bugs/Possible Bugs:
    82. #
    83. #   - As this script replaces the default title system scripts, it
    84. #     may be incompatible with other title system scripts.
    85. #
    86. #
    87. #  Credits/Thanks:
    88. #    - Mobius XVI, author
    89. #
    90. #
    91. #  License
    92. #
    93. #    This script is available in its entirety for commercial and non-commercial
    94. #    use. View the specific license terms below.
    95. #
    96. #    The MIT License (MIT)
    97. #
    98. #      Copyright (c) 2026 darmes
    99. #
    100. #       Permission is hereby granted, free of charge, to any person obtaining a copy
    101. #       of this software and associated documentation files (the "Software"), to deal
    102. #       in the Software without restriction, including without limitation the rights
    103. #       to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    104. #       copies of the Software, and to permit persons to whom the Software is
    105. #       furnished to do so, subject to the following conditions:
    106. #
    107. #       The above copyright notice and this permission notice shall be included in all
    108. #       copies or substantial portions of the Software.
    109. #
    110. #       THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    111. #       IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    112. #       FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    113. #       AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    114. #       LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    115. #       OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    116. #       SOFTWARE.
    117. #
    118. #      Further, if you do decide to use this script in a commercial product,
    119. #      I'd ask that you let me know via a forum post or a PM. Thanks.
    120. #
    121. #==============================================================================
    122. # ** CUSTOMIZATION START
    123. #==============================================================================
    124. module Mobius
    125.     #==============================================================================
    126.     # ** Mobius - Title_Command_Window_Options
    127.     #------------------------------------------------------------------------------
    128.     #  This section contains all of the configuration settings for the title
    129.     #  screen's command window.
    130.     #==============================================================================
    131.     module Title_Command_Window_Options
    132.         #==============================================================================
    133.         # ** Anchor Options
    134.         #------------------------------------------------------------------------------
    135.         #  The anchor controls where on the screen the command window is placed.
    136.         #    If use_anchor is true, then the anchor setting will determine the
    137.         #    command window's position. The position is pinned to the specified corner
    138.         #    or edge of the screen with an offset margin as defined below.
    139.         #    If use_anchor is false, then the x and y settings will be used instead.
    140.         #
    141.         #  The available anchor options are:
    142.         #    :top_left
    143.         #    :top_center
    144.         #    :top_right
    145.         #    :left
    146.         #    :center
    147.         #    :right
    148.         #    :bottom_left
    149.         #    :bottom_center
    150.         #    :bottom_right
    151.         #==============================================================================
    152.         DEFAULT_COMMAND_WINDOW_USE_ANCHOR = true # or false if you want to use x/y
    153.         DEFAULT_COMMAND_WINDOW_ANCHOR = :bottom_center
    154.         DEFAULT_COMMAND_WINDOW_MARGIN = 24
    155.         #==============================================================================
    156.         # ** X/Y Options
    157.         #------------------------------------------------------------------------------
    158.         #  If use_anchor is false, then these X and Y settings will be used to set
    159.         #    the command window's position. X is the horizontal distance in pixels
    160.         #    from the left edge of the screen, and Y is the vertical distance in pixels
    161.         #    from the top edge of the screen.
    162.         #==============================================================================
    163.         DEFAULT_COMMAND_WINDOW_X = 0
    164.         DEFAULT_COMMAND_WINDOW_Y = 0
    165.         #==============================================================================
    166.         # ** Style Options
    167.         #------------------------------------------------------------------------------
    168.         #  Font Color: The color of the window's text. Set this using RGB values.
    169.         #  Opacity: The opacity of the window, from 0 (invisible) to 255 (fully opaque)
    170.         #  Text Align: The alignment of the command window's text.
    171.         #    Can be :left, :center, or :right
    172.         #  Width: The width of the command window in pixels.
    173.         #==============================================================================
    174.         DEFAULT_COMMAND_WINDOW_FONT_COLOR = Color.new(255, 255, 255)
    175.         DEFAULT_COMMAND_WINDOW_OPACITY = 160
    176.         DEFAULT_COMMAND_WINDOW_TEXT_ALIGN = :left
    177.         DEFAULT_COMMAND_WINDOW_WIDTH = 192
    178.         #==============================================================================
    179.         # ** Named Command Window Configurations
    180.         #------------------------------------------------------------------------------
    181.         #  If you have several different command window configurations that you want
    182.         #    to be able to re-use, you can define them once here then call them by name
    183.         #    in events using the change_command_to_named method.
    184.         #
    185.         #  Valid keys for each config hash are:
    186.         #    "use_anchor"
    187.         #    "anchor"
    188.         #    "margin"
    189.         #    "x"
    190.         #    "y"
    191.         #    "font_color"
    192.         #    "opacity"
    193.         #    "text_align"
    194.         #    "width"
    195.         #==============================================================================
    196.         NAMED_COMMAND_WINDOWS = {
    197.           :default => {},
    198.           :wide_center => {
    199.             "width" => 320,
    200.             "opacity" => 200,
    201.             "use_anchor" => true,
    202.             "anchor" => :center,
    203.             "text_align" => :center,
    204.           },
    205.           :oddly_placed => {
    206.             "width" => 192,
    207.             "opacity" => 100,
    208.             "use_anchor" => false,
    209.             "x" => 10,
    210.             "y" => 10,
    211.             "font_color" => Color.new(255, 0, 0),
    212.           },
    213.         }
    214.     end
    215.     #==============================================================================
    216.     # ** Mobius - Title_Options
    217.     #------------------------------------------------------------------------------
    218.     #  This section contains all of the configuration settings for the title
    219.     #    background and Background Music (BGM).
    220.     #==============================================================================
    221.     module Title_Options
    222.         #==============================================================================
    223.         # ** Named Backgrounds
    224.         #------------------------------------------------------------------------------
    225.         #  If you have several different backgrounds that you want to be able to re-use
    226.         #    you can define them once here then call them by name in events using the
    227.         #    change_title_to_named method.
    228.         #
    229.         #  The pairing here is a symbol key (like :castle) linked to a string value
    230.         #  which is the filename for the background in the Graphics/Titles folder
    231.         #  (like '025-Castle01').
    232.         #==============================================================================
    233.         NAMED_BACKGROUNDS = {
    234.           :default => '001-Title01',
    235.           :ship    => '030-Ship01',
    236.           :castle  => '025-Castle01',
    237.         }
    238.         #==============================================================================
    239.         # ** Named Background Music
    240.         #------------------------------------------------------------------------------
    241.         #  If you have several different BGMs that you want to be able to re-use
    242.         #    you can define them once here then call them by name in events using the
    243.         #    change_bgm_to_named method.
    244.         #
    245.         #  The pairing here is a symbol key (like :lullaby) linked to a hash value
    246.         #  which contains the name, volume, and pitch for the BGM. The name is the
    247.         #  filename for the BGM in the Audio/BGM folder (like '063-Slow06').
    248.         #==============================================================================
    249.         NAMED_BACKGROUND_MUSIC = {
    250.           :default  => {
    251.             "name" => "064-Slow07",
    252.             "volume" => 100,
    253.             "pitch" => 100,
    254.           },
    255.           :lullaby  => {
    256.             "name" => "063-Slow06",
    257.             "volume" => 100,
    258.             "pitch" => 100,
    259.           },
    260.           :suspense => {
    261.             "name" => "062-Slow05",
    262.             "volume" => 100,
    263.             "pitch" => 100,
    264.           },
    265.         }
    266.     end
    267.     #==============================================================================
    268.     # ** Mobius - Title_Commands
    269.     #------------------------------------------------------------------------------
    270.     #  These options allow you to configure all of the title commands.
    271.     #    Big picture: Every command has a 'command key' associated it with.
    272.     #    This allows you to link several different settings to the same command.
    273.     #    The keys are all of the type ':key_name'. That is a colon followed
    274.     #    by the key's name. As a rule, the keys should be all lowercase.
    275.     #    Additionally every command will need a key placed in the COMMAND_ORDER,
    276.     #    COMMAND_NAMES, and COMMAND_CALLS options below.
    277.     #==============================================================================
    278.     module Title_Commands
    279.         #==============================================================================
    280.         # ** Command Order
    281.         #------------------------------------------------------------------------------
    282.         #  Place all of your command keys in between the two square brackets.
    283.         #    Each key should be separated from the others with a comma.
    284.         #    The order in which these keys are placed will determine their order
    285.         #    in game, i.e. the first (top) key will be the first (top) command.
    286.         #==============================================================================
    287.         COMMAND_ORDER = [
    288.           :new_game,
    289.           :continue,
    290.           :shutdown,
    291.         ]
    292.         #==============================================================================
    293.         # ** Command Display Names
    294.         #------------------------------------------------------------------------------
    295.         #  This links your command keys to their display text in game.
    296.         #    In general, these will be the same but they might vary a little.
    297.         #    Think of this like setting a 'word' in the database.
    298.         #    Each entry is a pair like this - :command_key => "Display Name"
    299.         #    Separate entries with commas. The order of these entries does NOT
    300.         #    affect the order in game.
    301.         #==============================================================================
    302.         COMMAND_NAMES = {
    303.           :new_game   => "New Game",
    304.           :continue   => "Continue",
    305.           :shutdown   => "Shutdown",
    306.         }
    307.         #==============================================================================
    308.         # ** Command Script Calls
    309.         #------------------------------------------------------------------------------
    310.         #  This links your command keys to their script call. The default commands are
    311.         #    linked to the built-in methods for those commands. If you have a custom
    312.         #    scene that you want available from the title screen (like a gallery) and
    313.         #    if that script says you can call it by doing something likethis:
    314.         #      $scene = Scene_CustomScript.new
    315.         #    Then just include the 'Scene_CustomScript' part, and the rest will be
    316.         #    handled auto-magically (hopefully). If it doesn't work, reach out on the
    317.         #    forums and I'll try to help you get it working.
    318.         #    Separate entries with commas. The order of these entries does NOT
    319.         #    affect the order in game.
    320.         #------------------------------------------------------------------------------
    321.         # NOTE FOR ADVANCED USERS #
    322.         #------------------------------------------------------------------------------
    323.         #  If you want to, you can write a custom method for a command and as long as
    324.         #    that method is in the Scene_Title class, you can link it to here.
    325.         #==============================================================================
    326.         COMMAND_CALLS = {
    327.           :new_game   => :command_new_game,
    328.           :continue   => :command_continue,
    329.           :shutdown   => :command_shutdown,
    330.         # :example_scene  => Scene_CustomScript,
    331.         # :example_method => :my_custom_method,
    332.         }
    333.         #==============================================================================
    334.         # ** Load Command Key Is?
    335.         #------------------------------------------------------------------------------
    336.         #  This sets which command key is the 'load' command key, so that it can be
    337.         #    disabled whenever there are no save files. In general, you can leave the
    338.         #    default load key alone in the above options and also leave this alone
    339.         #==============================================================================
    340.         LOAD_COMMAND = :continue
    341.   end
    342. end
    343. #==============================================================================
    344. # ** CUSTOMIZATION END
    345. #------------------------------------------------------------------------------
    346. # ** EDIT BELOW THIS LINE AT OWN RISK!!!
    347. #==============================================================================
    348. #==============================================================================
    349. # ** Mobius - Title Screen Manager
    350. #------------------------------------------------------------------------------
    351. #  This module holds the utility methods for managing the title screen
    352. #==============================================================================
    353. module Mobius
    354.   module TitleScreenManager
    355.     #--------------------------------------------------------------------------
    356.     #  Throughout this module, you may wonder why there are duplicate methods.
    357.     #  The answer is that the self.<method> are Module level methods which
    358.     #  can be called from anywhere using Mobius::TitleScreenManager.<method>, while the
    359.     #  non-self.<method> are instance level methods which can be called from
    360.     #  any object that includes the Mobius::TitleScreenManager module, such as Scene_Title.
    361.     #--------------------------------------------------------------------------
    362.     #--------------------------------------------------------------------------
    363.     # * Change Title To Named : Changes the title background to a named one
    364.     #--------------------------------------------------------------------------
    365.     def self.change_title_to_named(name)
    366.       filename = Mobius::Title_Options::NAMED_BACKGROUNDS[name]
    367.       Mobius::TitleScreenManager.change_title_to_file(filename)
    368.     end
    369.     def change_title_to_named(name)
    370.       Mobius::TitleScreenManager.change_title_to_named(name)
    371.     end
    372.     #--------------------------------------------------------------------------
    373.     # * Change Title To File : Changes the title background to a specific file
    374.     #--------------------------------------------------------------------------
    375.     def self.change_title_to_file(filename)
    376.       $data_system.title_name = filename
    377.       save_data($data_system, "Data/System.rxdata")
    378.       Mobius::TitleScreenManager.change_current_title
    379.     end
    380.     def change_title_to_file(filename)
    381.       Mobius::TitleScreenManager.change_title_to_file(filename)
    382.     end
    383.     #--------------------------------------------------------------------------
    384.     # * Change Current Title : Changes the current title background
    385.     #--------------------------------------------------------------------------
    386.     def self.change_current_title
    387.       # Only run this if we're on the title screen
    388.       if $scene.is_a?(Scene_Title)
    389.         # Dispose of the old background
    390.         $scene.main_cleanup_background
    391.         # Create the new background
    392.         $scene.main_sprite
    393.       end
    394.     end
    395.     def change_current_title
    396.       Mobius::TitleScreenManager.change_current_title
    397.     end
    398.     #--------------------------------------------------------------------------
    399.     # * Change BGM To Named : Changes the title BGM to a named one
    400.     #--------------------------------------------------------------------------
    401.     def self.change_bgm_to_named(name)
    402.       raw = Mobius::Title_Options::NAMED_BACKGROUND_MUSIC[name]
    403.       Mobius::TitleScreenManager.change_bgm_to_audio(raw["name"], raw["volume"], raw["pitch"])
    404.     end
    405.     def change_bgm_to_named(name)
    406.       Mobius::TitleScreenManager.change_bgm_to_named(name)
    407.     end
    408.     #--------------------------------------------------------------------------
    409.     # * Change BGM To Audio : Changes the title BGM to a specific audio file
    410.     #--------------------------------------------------------------------------
    411.     def self.change_bgm_to_audio(name, volume = 100, pitch = 100)
    412.       audio = RPG::AudioFile.new(name, volume, pitch)
    413.       $data_system.title_bgm = audio
    414.       save_data($data_system, "Data/System.rxdata")
    415.       Mobius::TitleScreenManager.change_current_bgm
    416.     end
    417.     def change_bgm_to_audio(name, volume = 100, pitch = 100)
    418.       Mobius::TitleScreenManager.change_bgm_to_audio(name, volume, pitch)
    419.     end
    420.     #--------------------------------------------------------------------------
    421.     # * Change Current BGM : Changes the current title BGM
    422.     #--------------------------------------------------------------------------
    423.     def self.change_current_bgm
    424.       # Only run this if we're on the title screen
    425.       if $scene.is_a?(Scene_Title)
    426.         # Fade out old music over 500 milliseconds
    427.         Audio.bgm_fade(500)
    428.         $game_system.bgm_play($data_system.title_bgm)
    429.       end
    430.     end
    431.     def change_current_bgm
    432.       Mobius::TitleScreenManager.change_current_bgm
    433.     end
    434.     #--------------------------------------------------------------------------
    435.     # * Change Command To Named : Changes the title command to a named config
    436.     #--------------------------------------------------------------------------
    437.     def self.change_command_to_named(name)
    438.       data_config = Mobius::Title_Command_Window_Options::NAMED_COMMAND_WINDOWS[name]
    439.       Mobius::TitleScreenManager.change_command_to_config(data_config)
    440.     end
    441.     def change_command_to_named(name)
    442.       Mobius::TitleScreenManager.change_command_to_named(name)
    443.     end
    444.     #--------------------------------------------------------------------------
    445.     # * Change Command To Named : Changes the title command to a named config
    446.     #--------------------------------------------------------------------------
    447.     def self.change_command_to_config(data_config)
    448.       $data_system.title_command_window_config = data_config
    449.       save_data($data_system, "Data/System.rxdata")
    450.       Mobius::TitleScreenManager.change_current_command
    451.     end
    452.     def change_command_to_config(data_config)
    453.       Mobius::TitleScreenManager.change_command_to_config(data_config)
    454.     end
    455.     #--------------------------------------------------------------------------
    456.     # * Change Current Command : Changes the current command window configuration
    457.     #--------------------------------------------------------------------------
    458.     def self.change_current_command
    459.       # Only run this if we're on the title screen
    460.       if $scene.is_a?(Scene_Title)
    461.         $scene.main_cleanup_command
    462.         $scene.main_setup_command_window
    463.       end
    464.     end
    465.   end
    466. end
    467. #==============================================================================
    468. # ** Mobius - Title Commands
    469. #------------------------------------------------------------------------------
    470. #  This module contains a few helper methods.
    471. #==============================================================================
    472. module Mobius
    473.   module Title_Commands
    474.     #--------------------------------------------------------------------------
    475.     # * Command Key to Index
    476.     #--------------------------------------------------------------------------
    477.     def command_key_to_index(key)
    478.       return COMMAND_ORDER.index(key)
    479.     end
    480.     #--------------------------------------------------------------------------
    481.     # * Command Index to Key
    482.     #--------------------------------------------------------------------------
    483.     def command_index_to_key(index)
    484.       return COMMAND_ORDER.at(index)
    485.     end
    486.   end
    487. end
    488. #==============================================================================
    489. # ** Mobius - Command Window Config
    490. #------------------------------------------------------------------------------
    491. #  This class is a data object that holds all of the configuration settings
    492. #    for the title screen's command window. It also has a few helper methods
    493. #    for applying those settings to a window.
    494. #==============================================================================
    495. module Mobius
    496.   class Command_Window_Config
    497.     include Mobius::Title_Command_Window_Options
    498.     #--------------------------------------------------------------------------
    499.     # * Public Instance Variables
    500.     #--------------------------------------------------------------------------
    501.     attr_reader :width, :opacity, :use_anchor, :anchor
    502.     attr_reader :margin, :x, :y, :font_color
    503.     #--------------------------------------------------------------------------
    504.     # * Public Constants
    505.     #--------------------------------------------------------------------------
    506.     SCREEN_WIDTH = 640
    507.     SCREEN_HEIGHT = 480
    508.     HALF_SCREEN_WIDTH = SCREEN_WIDTH / 2
    509.     HALF_SCREEN_HEIGHT = SCREEN_HEIGHT / 2
    510.     #--------------------------------------------------------------------------
    511.     # * Object Initialization
    512.     #--------------------------------------------------------------------------
    513.     def initialize(config)
    514.       @anchor            = config["anchor"]     || DEFAULT_COMMAND_WINDOW_ANCHOR
    515.       @font_color        = config["font_color"] || DEFAULT_COMMAND_WINDOW_FONT_COLOR
    516.       @margin            = config["margin"]     || DEFAULT_COMMAND_WINDOW_MARGIN
    517.       @opacity           = config["opacity"]    || DEFAULT_COMMAND_WINDOW_OPACITY
    518.       @text_align_symbol = config["text_align"] || DEFAULT_COMMAND_WINDOW_TEXT_ALIGN
    519.       @width             = config["width"]      || DEFAULT_COMMAND_WINDOW_WIDTH
    520.       @x                 = config["x"]          || DEFAULT_COMMAND_WINDOW_X
    521.       @y                 = config["y"]          || DEFAULT_COMMAND_WINDOW_Y
    522.       @use_anchor    = config["use_anchor"].nil? ? DEFAULT_COMMAND_WINDOW_USE_ANCHOR : config["use_anchor"]
    523.     end
    524.     #--------------------------------------------------------------------------
    525.     # * Text Align - Converts the text align symbol to a number that can be used in draw_text
    526.     #--------------------------------------------------------------------------
    527.     def text_align
    528.       case @text_align_symbol
    529.       when :left  then return 0
    530.       when :center then return 1
    531.       when :right then return 2
    532.       else
    533.         raise "Unrecognized text align: #{@text_align_symbol}. Please check your spelling."
    534.       end
    535.     end
    536.     #--------------------------------------------------------------------------
    537.     # * Apply To Window - Applies the configuration settings to a given window
    538.     #--------------------------------------------------------------------------
    539.     def apply_to_window(window)
    540.       window.opacity = @opacity
    541.       window.set_width(@width, true)
    542.       window.set_contents_align(text_align, true)
    543.       window.set_font_color(@font_color, true)
    544.       if @use_anchor
    545.         apply_anchor_position(window)
    546.       else
    547.         window.x = @x
    548.         window.y = @y
    549.       end
    550.       window.refresh
    551.     end
    552.     #--------------------------------------------------------------------------
    553.     # * Apply Anchor Position - Applies the anchor position settings to a given window
    554.     #--------------------------------------------------------------------------
    555.     def apply_anchor_position(window)
    556.       case @anchor
    557.       when :top_left
    558.         window.x = @margin
    559.         window.y = @margin
    560.       when :top_center
    561.         window.x = HALF_SCREEN_WIDTH - window.width / 2
    562.         window.y = @margin
    563.       when :top_right
    564.         window.x = SCREEN_WIDTH - window.width - @margin
    565.         window.y = @margin
    566.       when :bottom_left
    567.         window.x = @margin
    568.         window.y = SCREEN_HEIGHT - window.height - @margin
    569.       when :bottom_center
    570.         window.x = HALF_SCREEN_WIDTH - window.width / 2
    571.         window.y = SCREEN_HEIGHT - window.height - @margin
    572.       when :bottom_right
    573.         window.x = SCREEN_WIDTH - window.width - @margin
    574.         window.y = SCREEN_HEIGHT - window.height - @margin
    575.       when :center
    576.         window.x = HALF_SCREEN_WIDTH - window.width / 2
    577.         window.y = HALF_SCREEN_HEIGHT - window.height / 2
    578.       when :left
    579.         window.x = @margin
    580.         window.y = HALF_SCREEN_HEIGHT - window.height / 2
    581.       when :right
    582.         window.x = SCREEN_WIDTH - window.width - @margin
    583.         window.y = HALF_SCREEN_HEIGHT - window.height / 2
    584.       else
    585.         raise "Unrecognized anchor: #{@anchor}. Please check your spelling."
    586.       end
    587.     end
    588.   end
    589. end
    590. #==============================================================================
    591. # ** RPG - System
    592. #------------------------------------------------------------------------------
    593. #  This extends the RPG::System class to include a new instance variable for
    594. #    storing the title command window configuration settings. This allows those
    595. #    settings to be saved and loaded with the rest of the system data.
    596. #==============================================================================
    597. module RPG
    598.   class System
    599.     #--------------------------------------------------------------------------
    600.     # * Public Instance Variables
    601.     #--------------------------------------------------------------------------
    602.     attr_accessor :title_command_window_config
    603.     #--------------------------------------------------------------------------
    604.     # * Object Initialization
    605.     #--------------------------------------------------------------------------
    606.     alias mobius_TitleScreenManager_initialize initialize
    607.     def initialize
    608.       mobius_TitleScreenManager_initialize
    609.       @title_command_window_config = {}
    610.     end
    611.   end
    612. end
    613. #==============================================================================
    614. # ** Window_Command - Changes to the default command window class
    615. #==============================================================================
    616. class Window_Command < Window_Selectable
    617.   #--------------------------------------------------------------------------
    618.   # * Object Initialization
    619.   #--------------------------------------------------------------------------
    620.   alias mobius_TitleScreenManager_initialize initialize
    621.   def initialize(width, commands)
    622.     @text_align = 0
    623.     @font_color = Color.new(255, 255, 255, 255)
    624.     mobius_TitleScreenManager_initialize(width, commands)
    625.   end
    626.   #--------------------------------------------------------------------------
    627.   # * Set Width : Changes the width of the window and refreshes the contents
    628.   #--------------------------------------------------------------------------
    629.   def set_width(width, skip_refresh = false)
    630.     self.width = width
    631.     self.contents.dispose
    632.     self.contents = Bitmap.new(width - 32, @item_max * 32)
    633.     refresh if not skip_refresh
    634.   end
    635.   #--------------------------------------------------------------------------
    636.   # * Set Font Color : Changes the font color and refreshes the contents
    637.   #--------------------------------------------------------------------------
    638.   def set_font_color(color, skip_refresh = false)
    639.     @font_color = color
    640.     refresh if not skip_refresh
    641.   end
    642.   #--------------------------------------------------------------------------
    643.   # * Set Contents Align : Changes the text align and refreshes the contents
    644.   #--------------------------------------------------------------------------
    645.   def set_contents_align(align, skip_refresh = false)
    646.     @text_align = align
    647.     refresh if not skip_refresh
    648.   end
    649.   #--------------------------------------------------------------------------
    650.   # * Refresh
    651.   #--------------------------------------------------------------------------
    652.   def refresh
    653.     self.contents.clear
    654.     for i in 0...@item_max
    655.       draw_item(i, @font_color)
    656.     end
    657.   end
    658.   #--------------------------------------------------------------------------
    659.   # * Draw Item
    660.   #     index : item number
    661.   #     color : text color
    662.   #--------------------------------------------------------------------------
    663.   def draw_item(index, color)
    664.     self.contents.font.color = color
    665.     rect = Rect.new(4, 32 * index, self.contents.width - 8, 32)
    666.     self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
    667.     self.contents.draw_text(rect, @commands[index], @text_align)
    668.   end
    669. end
    670. #==============================================================================
    671. # ** Scene_Title
    672. #------------------------------------------------------------------------------
    673. #  This is a refactor of the original code with no modifications to make
    674. #  extending this script easier
    675. #==============================================================================
    676. class Scene_Title
    677.   #--------------------------------------------------------------------------
    678.   # * Main Processing
    679.   #--------------------------------------------------------------------------
    680.   def main
    681.     # If battle test
    682.     if $BTEST
    683.       battle_test
    684.       return
    685.     end
    686.     main_database
    687.     main_sprite
    688.     main_setup_command_window
    689.     main_audio
    690.     main_loop
    691.     main_cleanup
    692.   end
    693.   #--------------------------------------------------------------------------
    694.   # * Main Processing : Database Initialization
    695.   #--------------------------------------------------------------------------
    696.   def main_database
    697.     # Load database
    698.     $data_actors        = load_data("Data/Actors.rxdata")
    699.     $data_classes       = load_data("Data/Classes.rxdata")
    700.     $data_skills        = load_data("Data/Skills.rxdata")
    701.     $data_items         = load_data("Data/Items.rxdata")
    702.     $data_weapons       = load_data("Data/Weapons.rxdata")
    703.     $data_armors        = load_data("Data/Armors.rxdata")
    704.     $data_enemies       = load_data("Data/Enemies.rxdata")
    705.     $data_troops        = load_data("Data/Troops.rxdata")
    706.     $data_states        = load_data("Data/States.rxdata")
    707.     $data_animations    = load_data("Data/Animations.rxdata")
    708.     $data_tilesets      = load_data("Data/Tilesets.rxdata")
    709.     $data_common_events = load_data("Data/CommonEvents.rxdata")
    710.     $data_system        = load_data("Data/System.rxdata")
    711.     # Make system object
    712.     $game_system = Game_System.new
    713.   end
    714.   #--------------------------------------------------------------------------
    715.   # * Main Processing : Sprite Initialization
    716.   #--------------------------------------------------------------------------
    717.   def main_sprite
    718.     # Make title graphic
    719.     @sprite = Sprite.new
    720.     @sprite.bitmap = RPG::Cache.title($data_system.title_name)
    721.   end
    722.   #--------------------------------------------------------------------------
    723.   # * Main Processing : Window Initialization
    724.   #--------------------------------------------------------------------------
    725.   def main_setup_command_window
    726.     main_create_command_window
    727.     main_test_continue
    728.     main_continue_control
    729.   end
    730.   #--------------------------------------------------------------------------
    731.   # * Main Processing : Window Initialization
    732.   #--------------------------------------------------------------------------
    733.   def main_create_command_window
    734.     # Make command window
    735.     s1 = "New Game"
    736.     s2 = "Continue"
    737.     s3 = "Shutdown"
    738.     @command_window = Window_Command.new(192, [s1, s2, s3])
    739.     @command_window.back_opacity = 160
    740.     @command_window.x = 320 - @command_window.width / 2
    741.     @command_window.y = 288
    742.   end
    743.   #--------------------------------------------------------------------------
    744.   # * Main Test Continue
    745.   #--------------------------------------------------------------------------
    746.   def main_test_continue
    747.     # Continue enabled determinant
    748.     # Check if at least one save file exists
    749.     # If enabled, make @continue_enabled true; if disabled, make it false
    750.     @continue_enabled = false
    751.     for i in 0..3
    752.       if FileTest.exist?("Save#{i+1}.rxdata")
    753.         @continue_enabled = true
    754.       end
    755.     end
    756.   end
    757.   #--------------------------------------------------------------------------
    758.   # * Main Continue Control
    759.   #--------------------------------------------------------------------------
    760.   def main_continue_control
    761.     # If continue is enabled, move cursor to "Continue"
    762.     # If disabled, display "Continue" text in gray
    763.     if @continue_enabled
    764.       @command_window.index = 1
    765.     else
    766.       @command_window.disable_item(1)
    767.     end
    768.   end
    769.   #--------------------------------------------------------------------------
    770.   # * Main Processing : Audio Initialization
    771.   #--------------------------------------------------------------------------
    772.   def main_audio
    773.     # Play title BGM
    774.     $game_system.bgm_play($data_system.title_bgm)
    775.     # Stop playing ME and BGS
    776.     Audio.me_stop
    777.     Audio.bgs_stop
    778.   end
    779.   #--------------------------------------------------------------------------
    780.   # * Main Processing : Scene Loop
    781.   #--------------------------------------------------------------------------
    782.   def main_loop
    783.     # Execute transition
    784.     Graphics.transition
    785.     # Main loop
    786.     loop do
    787.       # Update game screen
    788.       Graphics.update
    789.       # Update input information
    790.       Input.update
    791.       # Frame update
    792.       update
    793.       # Abort loop if screen is changed
    794.       if $scene != self
    795.         break
    796.       end
    797.     end
    798.     # Prepare for transition
    799.     Graphics.freeze
    800.   end
    801.   #--------------------------------------------------------------------------
    802.   # * Main Processing : Graphics Cleanup
    803.   #--------------------------------------------------------------------------
    804.   def main_cleanup
    805.     # Dispose of command window
    806.     main_cleanup_command
    807.     # Dispose of title graphic
    808.     main_cleanup_background
    809.   end
    810.   #--------------------------------------------------------------------------
    811.   # * Main Processing : Graphics Cleanup
    812.   #--------------------------------------------------------------------------
    813.   def main_cleanup_command
    814.     # Dispose of command window
    815.     @command_window.dispose
    816.   end
    817.   #--------------------------------------------------------------------------
    818.   # * Main Processing : Graphics Cleanup
    819.   #--------------------------------------------------------------------------
    820.   def main_cleanup_background
    821.     # Dispose of title graphic
    822.     @sprite.bitmap.dispose
    823.     @sprite.dispose
    824.   end
    825.   #--------------------------------------------------------------------------
    826.   # * Frame Update
    827.   #--------------------------------------------------------------------------
    828.   def update
    829.     # Update command window
    830.     @command_window.update
    831.     handle_command_input
    832.   end
    833.   #--------------------------------------------------------------------------
    834.   # * Frame Update - Command Window Input
    835.   #--------------------------------------------------------------------------
    836.   def handle_command_input
    837.     # If C button was pressed
    838.     if Input.trigger?(Input::C)
    839.       # Branch by command window cursor position
    840.       case @command_window.index
    841.       when 0  # New game
    842.         command_new_game
    843.       when 1  # Continue
    844.         command_continue
    845.       when 2  # Shutdown
    846.         command_shutdown
    847.       end
    848.     end
    849.   end
    850.   #--------------------------------------------------------------------------
    851.   # * Command: New Game
    852.   #--------------------------------------------------------------------------
    853.   def command_new_game
    854.     commandnewgame_audio        # Audio Control
    855.     commandnewgame_gamedata     # Game Data Setup
    856.     commandnewgame_partysetup   # Party Setup
    857.     commandnewgame_mapsetup     # Map Setup
    858.     commandnewgame_sceneswitch  # Scene Switch
    859.   end
    860.   #--------------------------------------------------------------------------
    861.   # * Command: New Game : Audio Control
    862.   #--------------------------------------------------------------------------
    863.   def commandnewgame_audio
    864.     # Play decision SE
    865.     $game_system.se_play($data_system.decision_se)
    866.     # Stop BGM
    867.     Audio.bgm_stop
    868.   end
    869.   #--------------------------------------------------------------------------
    870.   # * Command: New Game : Game Data Setup
    871.   #--------------------------------------------------------------------------
    872.   def commandnewgame_gamedata
    873.     # Reset frame count for measuring play time
    874.     Graphics.frame_count = 0
    875.     # Make each type of game object
    876.     $game_temp          = Game_Temp.new
    877.     $game_system        = Game_System.new
    878.     $game_switches      = Game_Switches.new
    879.     $game_variables     = Game_Variables.new
    880.     $game_self_switches = Game_SelfSwitches.new
    881.     $game_screen        = Game_Screen.new
    882.     $game_actors        = Game_Actors.new
    883.     $game_party         = Game_Party.new
    884.     $game_troop         = Game_Troop.new
    885.     $game_map           = Game_Map.new
    886.     $game_player        = Game_Player.new
    887.   end
    888.   #--------------------------------------------------------------------------
    889.   # * Command: New Game : Party Setup
    890.   #--------------------------------------------------------------------------
    891.   def commandnewgame_partysetup
    892.     # Set up initial party
    893.     $game_party.setup_starting_members
    894.   end
    895.   #--------------------------------------------------------------------------
    896.   # * Command: New Game : Map Setup
    897.   #--------------------------------------------------------------------------
    898.   def commandnewgame_mapsetup
    899.     # Set up initial map position
    900.     $game_map.setup($data_system.start_map_id)
    901.     # Move player to initial position
    902.     $game_player.moveto($data_system.start_x, $data_system.start_y)
    903.     # Refresh player
    904.     $game_player.refresh
    905.     # Run automatic change for BGM and BGS set with map
    906.     $game_map.autoplay
    907.     # Update map (run parallel process event)
    908.     $game_map.update
    909.   end
    910.   #--------------------------------------------------------------------------
    911.   # * Command: New Game : Scene Switch
    912.   #--------------------------------------------------------------------------
    913.   def commandnewgame_sceneswitch
    914.     # Switch to map screen
    915.     $scene = Scene_Map.new
    916.   end
    917.   #--------------------------------------------------------------------------
    918.   # * Command: Continue
    919.   #--------------------------------------------------------------------------
    920.   def command_continue
    921.     # If continue is disabled
    922.     unless @continue_enabled
    923.       # Play buzzer SE
    924.       $game_system.se_play($data_system.buzzer_se)
    925.       return
    926.     end
    927.     # Play decision SE
    928.     $game_system.se_play($data_system.decision_se)
    929.     # Switch to load screen
    930.     $scene = Scene_Load.new
    931.   end
    932.   #--------------------------------------------------------------------------
    933.   # * Command: Shutdown
    934.   #--------------------------------------------------------------------------
    935.   def command_shutdown
    936.     # Play decision SE
    937.     $game_system.se_play($data_system.decision_se)
    938.     # Fade out BGM, BGS, and ME
    939.     Audio.bgm_fade(800)
    940.     Audio.bgs_fade(800)
    941.     Audio.me_fade(800)
    942.     # Shutdown
    943.     $scene = nil
    944.   end
    945.   #--------------------------------------------------------------------------
    946.   # * Battle Test
    947.   #--------------------------------------------------------------------------
    948.   def battle_test
    949.     battletest_database
    950.     commandnewgame_gamedata
    951.     battletest_setup
    952.     battletest_sceneswitch
    953.   end
    954.   #--------------------------------------------------------------------------
    955.   # * Battle Test : Load Database
    956.   #--------------------------------------------------------------------------
    957.   def battletest_database
    958.     # Load database (for battle test)
    959.     $data_actors        = load_data("Data/BT_Actors.rxdata")
    960.     $data_classes       = load_data("Data/BT_Classes.rxdata")
    961.     $data_skills        = load_data("Data/BT_Skills.rxdata")
    962.     $data_items         = load_data("Data/BT_Items.rxdata")
    963.     $data_weapons       = load_data("Data/BT_Weapons.rxdata")
    964.     $data_armors        = load_data("Data/BT_Armors.rxdata")
    965.     $data_enemies       = load_data("Data/BT_Enemies.rxdata")
    966.     $data_troops        = load_data("Data/BT_Troops.rxdata")
    967.     $data_states        = load_data("Data/BT_States.rxdata")
    968.     $data_animations    = load_data("Data/BT_Animations.rxdata")
    969.     $data_tilesets      = load_data("Data/BT_Tilesets.rxdata")
    970.     $data_common_events = load_data("Data/BT_CommonEvents.rxdata")
    971.     $data_system        = load_data("Data/BT_System.rxdata")
    972.   end
    973.   #--------------------------------------------------------------------------
    974.   # * Battle Test : Setup
    975.   #--------------------------------------------------------------------------
    976.   def battletest_setup
    977.     # Set up party for battle test
    978.     $game_party.setup_battle_test_members
    979.     # Set troop ID, can escape flag, and battleback
    980.     $game_temp.battle_troop_id = $data_system.test_troop_id
    981.     $game_temp.battle_can_escape = true
    982.     $game_map.battleback_name = $data_system.battleback_name
    983.   end
    984.   #--------------------------------------------------------------------------
    985.   # * Battle Test : Scene Switch
    986.   #--------------------------------------------------------------------------
    987.   def battletest_sceneswitch
    988.     # Play battle start SE
    989.     $game_system.se_play($data_system.battle_start_se)
    990.     # Play battle BGM
    991.     $game_system.bgm_play($game_system.battle_bgm)
    992.     # Switch to battle screen
    993.     $scene = Scene_Battle.new
    994.   end
    995. end
    996. #==============================================================================
    997. # ** Scene_Title
    998. #------------------------------------------------------------------------------
    999. #  This is the changes for this script
    1000. #==============================================================================
    1001. class Scene_Title
    1002.   #--------------------------------------------------------------------------
    1003.   # * Configuration Binding
    1004.   #--------------------------------------------------------------------------
    1005.   include Mobius::Title_Command_Window_Options
    1006.   include Mobius::Title_Options
    1007.   include Mobius::Title_Commands
    1008.   include Mobius::TitleScreenManager
    1009.   #--------------------------------------------------------------------------
    1010.   # * Object Initialization
    1011.   #--------------------------------------------------------------------------
    1012.   def initialize
    1013.     @disabled_commands = []
    1014.   end
    1015.   #--------------------------------------------------------------------------
    1016.   # * Main Processing : Window Initialization
    1017.   #--------------------------------------------------------------------------
    1018.   def main_create_command_window
    1019.     # Collect commands
    1020.     commands = COMMAND_ORDER.collect { |cmd| COMMAND_NAMES[cmd] }
    1021.     # Collect config for command window
    1022.     data_config = $data_system.title_command_window_config || {}
    1023.     config = Mobius::Command_Window_Config.new(data_config)
    1024.     # Make command window
    1025.     @command_window = Window_Command.new(config.width, commands)
    1026.     config.apply_to_window(@command_window)
    1027.   end
    1028.   #--------------------------------------------------------------------------
    1029.   # * Main Test Initialization
    1030.   #--------------------------------------------------------------------------
    1031.   def main_continue_control
    1032.     # If continue is enabled, move cursor to "Continue"
    1033.     # If disabled, display "Continue" text in gray
    1034.     continue_index = command_key_to_index(LOAD_COMMAND)
    1035.     if @continue_enabled
    1036.       @command_window.index = continue_index
    1037.     else
    1038.       @command_window.disable_item(continue_index)
    1039.       disable_command(LOAD_COMMAND)
    1040.     end
    1041.   end
    1042.   #--------------------------------------------------------------------------
    1043.   # * Frame Update - Command Window Input
    1044.   #--------------------------------------------------------------------------
    1045.   def handle_command_input
    1046.     # If C button was pressed
    1047.     if Input.trigger?(Input::C)
    1048.       on_command
    1049.     end
    1050.   end
    1051.   #--------------------------------------------------------------------------
    1052.   # * On Command
    1053.   #--------------------------------------------------------------------------
    1054.   def on_command
    1055.     # Get index and key
    1056.     index = @command_window.index
    1057.     key = command_index_to_key(index)
    1058.     # Exit processing if command is disabled
    1059.     if command_disabled?(index)
    1060.       command_fail
    1061.     else
    1062.       command_success(key)
    1063.     end
    1064.   end
    1065.   #--------------------------------------------------------------------------
    1066.   # * Command Success
    1067.   #--------------------------------------------------------------------------
    1068.   def command_success(key)
    1069.     play_decision_se
    1070.     # Switch to new screen
    1071.     process_command_call(key)
    1072.   end
    1073.   #--------------------------------------------------------------------------
    1074.   # * Command Fail
    1075.   #--------------------------------------------------------------------------
    1076.   def command_fail
    1077.     play_buzzer_se
    1078.   end
    1079.   #--------------------------------------------------------------------------
    1080.   # * Process Command Call
    1081.   #--------------------------------------------------------------------------
    1082.   def process_command_call(key)
    1083.     # Get command call
    1084.     cmd_call = COMMAND_CALLS[key]
    1085.     # If call is a Class, treat as a scene class
    1086.     if cmd_call.is_a?(Class)
    1087.       $scene = cmd_call.new
    1088.     # If call is a symbol, treat as method name
    1089.     elsif cmd_call.is_a?(Symbol)
    1090.       method(cmd_call).call
    1091.     else
    1092.       raise "Unrecognized command: #{cmd_call}. Please check your spelling."
    1093.     end
    1094.   end
    1095.   #--------------------------------------------------------------------------
    1096.   # * Command: New Game : Audio Control
    1097.   #--------------------------------------------------------------------------
    1098.   def commandnewgame_audio
    1099.     # Stop BGM
    1100.     Audio.bgm_stop
    1101.   end
    1102.   #--------------------------------------------------------------------------
    1103.   # * Command: Continue
    1104.   #--------------------------------------------------------------------------
    1105.   def command_continue
    1106.     # Switch to load screen
    1107.     $scene = Scene_Load.new
    1108.   end
    1109.   #--------------------------------------------------------------------------
    1110.   # * Command: Shutdown
    1111.   #--------------------------------------------------------------------------
    1112.   def command_shutdown
    1113.     # Fade out BGM, BGS, and ME
    1114.     Audio.bgm_fade(800)
    1115.     Audio.bgs_fade(800)
    1116.     Audio.me_fade(800)
    1117.     # Shutdown
    1118.     $scene = nil
    1119.   end
    1120.   #--------------------------------------------------------------------------
    1121.   # * Disable Command
    1122.   #--------------------------------------------------------------------------
    1123.   def disable_command(key)
    1124.     # Get command index
    1125.     index = command_key_to_index(key)
    1126.     # Set text to disabled
    1127.     @command_window.disable_item(index)
    1128.     # Add index to disabled commands
    1129.     @disabled_commands.push(index).uniq!
    1130.   end
    1131.   #--------------------------------------------------------------------------
    1132.   # * Enable Command
    1133.   #--------------------------------------------------------------------------
    1134.   def enable_command(key)
    1135.     # Get comand index
    1136.     index = command_key_to_index(key)
    1137.     # Set text to disabled
    1138.     @command_window.disable_item(index)
    1139.     # Add index to disabled commands
    1140.     @disabled_commands.delete(index)
    1141.   end
    1142.   #--------------------------------------------------------------------------
    1143.   # * Command Disabled?
    1144.   #--------------------------------------------------------------------------
    1145.   def command_disabled?(index)
    1146.     return @disabled_commands.include?(index)
    1147.   end
    1148.   #--------------------------------------------------------------------------
    1149.   # * Play Decision SE
    1150.   #--------------------------------------------------------------------------
    1151.   def play_decision_se
    1152.     $game_system.se_play($data_system.decision_se)
    1153.   end
    1154.   #--------------------------------------------------------------------------
    1155.   # * Play Buzzer SE
    1156.   #--------------------------------------------------------------------------
    1157.   def play_buzzer_se
    1158.     $game_system.se_play($data_system.buzzer_se)
    1159.   end
    1160. end
    复制代码






    FAQ
    Q. Can this do _______?
    A. Maybe! Leave a post on the forum, and I might just add the feature if it can't already do it.

    Q. This doesn't work! Every time I launch the game, it's back to using the defaults and not my changes!
    A. Whenever you save the project from the editor, it overwrites the changes made by my script. You can either launch the game from the editor without saving or launch it directly from the application (outside the editor).

    Credits and Thanks
    - MobiusXVI, author

    License
    This script is available in its entirety for commercial and non-commercial use. View the full license terms in the script header.


    本贴来自国际rpgmaker官方论坛作者:MobiusXVI处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/title-screen-manager.183445/
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

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

    本版积分规则

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

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2026-8-4 11:49 , Processed in 0.097210 second(s), 55 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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