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

[转载发布] Hammy - FF9 Windowskin System

[复制链接]
累计送礼:
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

    灌水之王

    发表于 昨天 15:30 | 显示全部楼层 |阅读模式
    Hammy - FF9 Windowskin System v1.01
    Recreate the iconic Final Fantasy IX window themes with dynamic type-based skinning




    Introduction

    This script provides an authentic Final Fantasy IX windowskin system for RPG Maker VX Ace. It allows different window types to use specialized windowskin graphics based on their class and function.

    AI Disclaimer: Generative AI was used to refine the documentation and presentation of this script, as I am not a native English speaker. Additionally, AI was used for naming conventions in some places and for general beautification of the script.



    Features

    Core Windowskin Features

    • Automatic windowskin assignment based on window class and type
    • Dual color themes (grey and blue) with runtime switching through Game_System
    • Multiple window type support: default, frame, topbar, help

    Customization System

    • Per-window-class type configuration with tailored windowskin assignments
    • Configurable windowskin filenames for each type and color combination

    Technical Features

    • Real-time windowskin refresh when the active theme changes
    • Automatic window type detection with safe default fallback



    Script Calls

    The following script calls are available for use in events and other scripts.

    Color Theme Management

    $game_system.windowskin_color = :grey
    Changes all windows to use the grey color theme.

    $game_system.windowskin_color = :blue
    Changes all windows to use the blue color theme.

    Examples
                    Ruby:       
    1. # Change color theme to grey
    2. $game_system.windowskin_color = :grey
    3. # Change color theme to blue
    4. $game_system.windowskin_color = :blue
    复制代码




    Configuration

    Edit the constants in the Hammy::FF9WindowskinSystem module to configure the windowskin filenames, window type mapping, and background opacity.

    Windowskin File Names
    Configure the windowskin graphic filenames for different window types and color themes. All windowskin files should be placed in the Graphics/System folder of your project.

    GREY_DEFAULT
    Default grey windowskin for standard windows.
    - Valid values: String containing filename without extension
    - Default:"Window_Default_Grey"

    Example
                    Ruby:       
    1. GREY_DEFAULT = "Window_Default_Grey"
    复制代码


    BLUE_DEFAULT
    Default blue windowskin for standard windows.
    - Valid values: String containing filename without extension
    - Default:"Window_Default_Blue"

    Example
                    Ruby:       
    1. BLUE_DEFAULT = "Window_Default_Blue"
    复制代码


    GREY_FRAME
    Grey windowskin for frame-type windows.
    - Valid values: String containing filename without extension
    - Default:"Window_Frame_Grey"

    Example
                    Ruby:       
    1. GREY_FRAME = "Window_Frame_Grey"
    复制代码


    BLUE_FRAME
    Blue windowskin for frame-type windows.
    - Valid values: String containing filename without extension
    - Default:"Window_Frame_Blue"

    Example
                    Ruby:       
    1. BLUE_FRAME = "Window_Frame_Blue"
    复制代码


    GREY_TOPBAR
    Grey windowskin for topbar-type windows.
    - Valid values: String containing filename without extension
    - Default:"Window_Topbar_Grey"

    Example
                    Ruby:       
    1. GREY_TOPBAR = "Window_Topbar_Grey"
    复制代码


    BLUE_TOPBAR
    Blue windowskin for topbar-type windows.
    - Valid values: String containing filename without extension
    - Default:"Window_Topbar_Blue"

    Example
                    Ruby:       
    1. BLUE_TOPBAR = "Window_Topbar_Blue"
    复制代码


    HELP_SYSTEM
    Special windowskin for help windows.
    - Valid values: String containing filename without extension
    - Default:"Window_Help_System"

    Example
                    Ruby:       
    1. HELP_SYSTEM = "Window_Help_System"
    复制代码


    Window Type Configuration
    Configure window classes to use specific windowskin types. This allows different window classes to automatically use specialized windowskin graphics based on their designated type.

    WINDOW_TYPES
    Hash mapping window classes to their designated types.

    Available types: :default, :frame, :topbar, :help Windows not listed here will automatically default to :default type.

    - Valid values: Hash with Window Class keys and Symbol values
    - Default:{ Window_MenuCommand => :frame, ... }

    Example
                    Ruby:       
    1. WINDOW_TYPES = {
    2.   Window_MenuCommand => :frame,
    3.   Window_MenuStatus => :topbar,
    4.   Window_Gold => :frame,
    5.   Window_TitleCommand => :frame
    6. }
    复制代码


    Window Background Opacity
    Configure the default background opacity for all windows in the game. This controls the transparency of the window background content area.

    BACK_OPACITY
    Background opacity value (0-255, 255 is fully opaque).
    - Valid values: Integer from 0 to 255
    - Default:255

    Example
                    Ruby:       
    1. BACK_OPACITY = 255
    复制代码




    Installation


    • Copy the script to an open slot below ▼ Materials but above ▼ Main
    • Ensure your windowskin graphics are saved in Graphics/System with the names defined in the configuration section



    Compatibility

    This script is made strictly for RPG Maker VX Ace. It is highly unlikely that it will run with RPG Maker VX without adjusting.



    License

    MIT License - Free for commercial and non-commercial use.



    Credits

    This script is based on Jet10985's Windowskin Changer script.



    Why VX Ace?

    You might wonder why I'm still making scripts for VX Ace instead of MV/MZ. The answer is simple: Ruby is pure beauty, while JavaScript is a terrible language. Ruby's elegant syntax, intuitive design, and expressive power make scripting a joy. JavaScript, on the other hand, is a chaotic mess of inconsistencies and quirks that I simply despise.

    I work with RPG Maker VX Ace for my own game project, and I share the scripts I create with the community. If you're still using VX Ace, you're in good company!



    Download

    Script:Download from GitHub
    Demo:Download from GitHub



    YEA System Options Addon

    This addon extends Yanfly's System Options script to include windowskin color selection directly in the system options menu. Players can toggle between grey and blue themes without using script calls.

    Features

    • Windowskin color toggle command in System Options menu
    • Automatic detection of Global System Option script presence
    • Configurable command insertion position via anchor system

    Requirements

    Installation
    Place this addon script BELOW both YEA-SystemOptions and the FF9 Windowskin System.

    Download:Download from GitHub

    Spoiler: Addon Code
                    Ruby:       
    1. # encoding: utf-8
    2. #==============================================================================
    3. # ▼ Hammy - FF9 Windowskin System - YEA System Options Addon v1.01
    4. #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    5. # -- Last Updated: 25.05.2026
    6. # -- Requires: Hammy FF9 Windowskin System v1.01+,
    7. #              YEA-SystemOptions v1.00
    8. # -- Optional: Theolized - Global System Option v1.00
    9. # -- Recommended: None
    10. # -- Credits: Yanfly (YEA-SystemOptions),
    11. #             Theo Allen (Global System Option)
    12. # -- License: MIT License
    13. #==============================================================================
    14. $imported ||= {}
    15. $imported[:hammy_ff9_windowskin_system_system_options] = true
    16. #==============================================================================
    17. # ▼ Updates
    18. #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    19. # 25.05.2026 - (v1.01) Applied new documentation conventions.
    20. #              Migrated configuration modules to Hammy::PascalCase naming.
    21. #
    22. # 23.10.2025 - (v1.00) Initial release.
    23. #
    24. #==============================================================================
    25. # ▼ Introduction
    26. #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    27. # This addon extends the Yanfly System Options script to include windowskin
    28. # color selection functionality for the Hammy FF9 Windowskin System. It
    29. # provides seamless integration with the system options menu, allowing players
    30. # to change the window color theme directly from the game's options screen.
    31. #
    32. # The addon automatically detects whether Theo's Global System Option script is
    33. # present and adapts its save behavior accordingly, supporting both standard
    34. # save file storage and global options storage.
    35. #
    36. # -----------------------------------------------------------------------------
    37. # ► Core Integration Features
    38. # -----------------------------------------------------------------------------
    39. # ★ Windowskin color toggle command in System Options menu
    40. # ★ Automatic detection of Global System Option script presence
    41. # ★ Configurable command insertion position via anchor system
    42. #
    43. #==============================================================================
    44. # ▼ Base Classes & Method Modifications
    45. #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    46. # This script modifies the following RGSS3 base classes:
    47. #
    48. # -----------------------------------------------------------------------------
    49. # ► Game_System (Class)
    50. # -----------------------------------------------------------------------------
    51. # ★ Added Getters/Setters:
    52. #   - windowskin_color
    53. #   - windowskin_color=
    54. #
    55. #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    56. # This script modifies the following 3rd party classes:
    57. #
    58. # -----------------------------------------------------------------------------
    59. # ► OptionData (Class)
    60. # -----------------------------------------------------------------------------
    61. # ★ Public Instance Variables:
    62. #   - windowskin_color (attr_accessor)
    63. #
    64. # ★ Alias Methods:
    65. #   - initialize → ff9_windowskin_optiondata_initialize
    66. #
    67. # -----------------------------------------------------------------------------
    68. # ► Window_SystemOptions (Class < Window_Command)
    69. # -----------------------------------------------------------------------------
    70. # ★ Alias Methods:
    71. #   - draw_item → ff9_windowskin_win_sysopt_draw_item
    72. #   - cursor_change → ff9_windowskin_win_sysopt_cursor_change
    73. #   - make_command_list → ff9_windowskin_win_sysopt_make_comm_list
    74. #
    75. #==============================================================================
    76. # ▼ Instructions
    77. #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    78. # To install this script, open up your script editor and copy/paste this script
    79. # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
    80. #
    81. # ★ This script requires Yanfly - YEA-SystemOptions and Hammy - FF9 Windowskin
    82. #   System and must be placed BELOW them.
    83. #
    84. # ★ If using Theolized Global System Option v1.0, windowskin color preferences
    85. #   will be saved globally across all save files.
    86. #
    87. #==============================================================================
    88. # ▼ Compatibility
    89. #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    90. # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
    91. # it will run with RPG Maker VX without adjusting.
    92. #
    93. #==============================================================================
    94. #==============================================================================
    95. # ** FF9 Windowskin System Configuration
    96. #------------------------------------------------------------------------------
    97. #  Configuration settings for the FF9 Windowskin System.
    98. #==============================================================================
    99. module Hammy
    100.   module FF9WindowskinSystem
    101.    
    102.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    103.     # - System Options Anchor -
    104.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    105.     # Configure the insertion position for the windowskin color command in
    106.     # the System Options menu. The command will be inserted after the
    107.     # specified anchor command.
    108.     #
    109.     # WINDOWSKIN_INSERT_ANCHOR: Symbol of the anchor command.
    110.     #   - Valid values: Symbol representing a command in System Options
    111.     #   - Default: :window_blu
    112.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    113.     WINDOWSKIN_INSERT_ANCHOR = :window_blu
    114.    
    115.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    116.     # - Command Vocabulary -
    117.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    118.     # Configure the display text and help information for the windowskin
    119.     # color toggle command in the System Options menu.
    120.     #
    121.     # WINDOWSKIN_VOCAB: Hash containing command text and help description.
    122.     #   [0] = Command name, [1] = Grey text, [2] = Blue text, [3] = Help text
    123.     #   - Valid values: Hash with Symbol key and Array of Strings
    124.     #   - Default: { :windowskin_color => [...] }
    125.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    126.     WINDOWSKIN_VOCAB = {
    127.       :windowskin_color => ["Window Color", "Grey", "Blue",
    128.                             "Change the color scheme of all windows.\n" \
    129.                             "Toggle between grey and blue window themes."
    130.                            ]
    131.     }
    132.    
    133.     #==========================================================================
    134.     # ▼ End of Documentation
    135.     #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    136.     # This marks the end of the documentation and configuration section.
    137.     # Everything below this point is the actual script implementation code.
    138.     #
    139.     # WARNING: Modifying the code below requires advanced Ruby and RGSS3
    140.     # knowledge. Improper changes may cause script errors, game crashes, or
    141.     # data corruption. Only edit if you understand the consequences and have
    142.     # backups of your project.
    143.     #==========================================================================
    144.    
    145.     #--------------------------------------------------------------------------
    146.     # * Merge Windowskin Color Vocabulary                              [Custom]
    147.     #--------------------------------------------------------------------------
    148.     if $imported["YEA-SystemOptions"]
    149.       YEA::SYSTEM::COMMAND_VOCAB.merge!(WINDOWSKIN_VOCAB)
    150.     end
    151.    
    152.   end # Hammy::FF9WindowskinSystem
    153. end # Hammy
    154. #==============================================================================
    155. # ▼ Script Dependencies Check
    156. #-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    157. # This section checks for the presence of required companion scripts.
    158. # If any required scripts are missing, it displays an error message and exits.
    159. #==============================================================================
    160. unless $imported["YEA-SystemOptions"]
    161.   msgbox("YEA-System Options v1.00 by Yanfly is required but not found!\n" \
    162.          "Please install the required script before using " \
    163.          "Windowskin System - System Options Addon.")
    164.   exit
    165. end
    166. unless $imported[:hammy_ff9_windowskin_system]
    167.   msgbox("Hammy FF9 Windowskin System v1.00 is required but not found!\n" \
    168.          "Please install the required script before using " \
    169.          "Windowskin System - System Options Addon.")
    170.   exit
    171. end
    172. #==============================================================================
    173. # ** OptionData
    174. #------------------------------------------------------------------------------
    175. #  This class handles global system option data. It saves option preferences
    176. # globally across all save files when using Theo's Global System Option.
    177. #==============================================================================
    178. if $imported[:Theo_GlobalOption]
    179.   class OptionData
    180.     #--------------------------------------------------------------------------
    181.     # * Public Instance Variables                                      [Custom]
    182.     #--------------------------------------------------------------------------
    183.     attr_accessor :windowskin_color
    184.    
    185.     #--------------------------------------------------------------------------
    186.     # * Alias Method Definitions                                       [Custom]
    187.     #--------------------------------------------------------------------------
    188.     alias_method :ff9_windowskin_optiondata_initialize, :initialize
    189.    
    190.     #--------------------------------------------------------------------------
    191.     # * Object Initialization                                           [Alias]
    192.     #--------------------------------------------------------------------------
    193.     def initialize
    194.       ff9_windowskin_optiondata_initialize
    195.       @windowskin_color = :grey
    196.     end
    197.    
    198.   end # OptionData
    199. end # if $imported[:Theo_GlobalOption]
    200. #==============================================================================
    201. # ** Game_System
    202. #------------------------------------------------------------------------------
    203. #  This class handles system data. It saves the disable state of saving and
    204. # menus. Instances of this class are referenced by $game_system.
    205. #==============================================================================
    206. class Game_System
    207.   #--------------------------------------------------------------------------
    208.   # * Get Windowskin Color                                           [Custom]
    209.   #--------------------------------------------------------------------------
    210.   def windowskin_color
    211.     if $imported[:Theo_GlobalOption]
    212.       return $option_data.windowskin_color
    213.     else
    214.       return @windowskin_color
    215.     end
    216.   end
    217.   
    218.   #--------------------------------------------------------------------------
    219.   # * Set Windowskin Color                                           [Custom]
    220.   #--------------------------------------------------------------------------
    221.   def windowskin_color=(value)
    222.     if $imported[:Theo_GlobalOption]
    223.       $option_data.windowskin_color = value
    224.       OptionData.save
    225.     else
    226.       @windowskin_color = value
    227.     end
    228.   end
    229.   
    230. end # Game_System
    231. #==============================================================================
    232. # ** Window_SystemOptions
    233. #------------------------------------------------------------------------------
    234. #  This window displays system options on the options screen.
    235. #==============================================================================
    236. class Window_SystemOptions < Window_Command
    237.   #--------------------------------------------------------------------------
    238.   # * Alias Method Definitions                                       [Custom]
    239.   #--------------------------------------------------------------------------
    240.   alias_method :ff9_windowskin_win_sysopt_draw_item, :draw_item
    241.   alias_method :ff9_windowskin_win_sysopt_cursor_change, :cursor_change
    242.   alias_method :ff9_windowskin_win_sysopt_make_comm_list, :make_command_list
    243.   
    244.   #--------------------------------------------------------------------------
    245.   # * Create Command List                                             [Alias]
    246.   #--------------------------------------------------------------------------
    247.   def make_command_list
    248.     ff9_windowskin_win_sysopt_make_comm_list
    249.     inject_windowskin_color_command
    250.   end
    251.   
    252.   #--------------------------------------------------------------------------
    253.   # * Inject Windowskin Color Command                                [Custom]
    254.   #--------------------------------------------------------------------------
    255.   def inject_windowskin_color_command
    256.     anchor_index = @list.find_index { |item|
    257.       item[:symbol] == Hammy::FF9WindowskinSystem::WINDOWSKIN_INSERT_ANCHOR
    258.     }
    259.    
    260.     if anchor_index
    261.       insert_index = anchor_index + 1
    262.     else
    263.       insert_index = @list.size
    264.     end
    265.    
    266.     vocab = YEA::SYSTEM::COMMAND_VOCAB
    267.    
    268.     windowskin_command = {
    269.       :name => vocab[:windowskin_color][0],
    270.       :symbol => :windowskin_color,
    271.       :enabled => true,
    272.       :ext => nil
    273.     }
    274.    
    275.     @list.insert(insert_index, windowskin_command)
    276.     @help_descriptions[:windowskin_color] = vocab[:windowskin_color][3]
    277.   end
    278.   
    279.   #--------------------------------------------------------------------------
    280.   # * Draw Item                                                       [Alias]
    281.   #--------------------------------------------------------------------------
    282.   def draw_item(index)
    283.     if @list[index][:symbol] == :windowskin_color
    284.       reset_font_settings
    285.       rect = item_rect(index)
    286.       contents.clear_rect(rect)
    287.       draw_windowskin_toggle(rect, index, @list[index][:symbol])
    288.     else
    289.       ff9_windowskin_win_sysopt_draw_item(index)
    290.     end
    291.   end
    292.   
    293.   #--------------------------------------------------------------------------
    294.   # * Draw Windowskin Toggle                                         [Custom]
    295.   #--------------------------------------------------------------------------
    296.   def draw_windowskin_toggle(rect, index, symbol)
    297.     name = @list[index][:name]
    298.     draw_text(0, rect.y, contents.width / 2, line_height, name, 1)
    299.    
    300.     enabled = $game_system.windowskin_color == :blue
    301.    
    302.     dx = contents.width / 2
    303.     change_color(normal_color, !enabled)
    304.     option1 = YEA::SYSTEM::COMMAND_VOCAB[symbol][1]
    305.     draw_text(dx, rect.y, contents.width / 4, line_height, option1, 1)
    306.    
    307.     dx += contents.width / 4
    308.     change_color(normal_color, enabled)
    309.     option2 = YEA::SYSTEM::COMMAND_VOCAB[symbol][2]
    310.     draw_text(dx, rect.y, contents.width / 4, line_height, option2, 1)
    311.   end
    312.   
    313.   #--------------------------------------------------------------------------
    314.   # * Process Cursor Move                                             [Alias]
    315.   #--------------------------------------------------------------------------
    316.   def cursor_change(direction)
    317.     if current_symbol == :windowskin_color
    318.       change_windowskin_toggle(direction)
    319.     else
    320.       ff9_windowskin_win_sysopt_cursor_change(direction)
    321.     end
    322.   end
    323.   
    324.   #--------------------------------------------------------------------------
    325.   # * Change Windowskin Toggle                                       [Custom]
    326.   #--------------------------------------------------------------------------
    327.   def change_windowskin_toggle(direction)
    328.     value = direction == :left ? false : true
    329.     current_case = $game_system.windowskin_color == :blue
    330.    
    331.     new_color = value ? :blue : :grey
    332.     $game_system.windowskin_color = new_color
    333.    
    334.     Sound.play_cursor if value != current_case
    335.     draw_item(index)
    336.   end
    337.   
    338. end # Window_SystemOptions
    339. #==============================================================================
    340. #
    341. # ▼ End of File
    342. #
    343. #==============================================================================
    复制代码






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

    使用道具 举报

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

    本版积分规则

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

    幸运抽奖

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

    立即查看

    聊天机器人
    Loading...

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

    GMT+8, 2026-8-4 17:32 , Processed in 0.068763 second(s), 55 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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