设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2457|回复: 5
打印 上一主题 下一主题

[已经解决] 贪心啊~求某些战斗脚本……

[复制链接]

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

跳转到指定楼层
1
发表于 2010-9-27 13:37:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 夕阳武士 于 2010-9-30 21:46 编辑

呃……问一下……vx有没有战斗图片/图标选单的脚本?
第二个,Vx战斗的状态栏,有没有这种效果的= =记得在日站上看到过……

谢谢哈= .=
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群

Lv1.梦旅人

梦石
0
星屑
50
在线时间
518 小时
注册时间
2010-6-16
帖子
1073
2
发表于 2010-9-27 15:14:28 | 只看该作者
像这样的?
  1. #===============================================================================
  2. #
  3. # Yanfly Engine RD - Display Party Data 2.0
  4. # Last Date Updated: 2009.05.30
  5. # Level: Easy
  6. #
  7. # This pretty much changes the party information window in battles to show the
  8. # party member names horizontally than vertically. When structured as such,
  9. # you'll be able to see the party members' faces and/or sprites. With the new
  10. # arrangement, the player can also see up to four status effects on each actor
  11. # as opposed to the original two. A big difference.
  12. #
  13. # Version 2.0 gives options to change font size, show extra gauges (for rage and
  14. # morale) and no longer hides the actor sprite behind the states.
  15. #
  16. #===============================================================================
  17. # Instructions
  18. #===============================================================================
  19. #
  20. # Just put this script under Materials and that's it. If you'd like to change
  21. # other settings such as showing the face graphic or changing its opacity, just
  22. # scroll down a bit and make adjustments as necessary.
  23. #
  24. #===============================================================================
  25. # Updates:
  26. # ----------------------------------------------------------------------------
  27. # o 2009.05.30 - Fixed max states shown bug.
  28. #              - Greatly improved drawing efficiency.
  29. # o 2009.05.16 - Started and finished version 2.0.
  30. # o 2009.02.23 - Started script and finished.
  31. #===============================================================================
  32. #
  33. # Compatibility
  34. # - Alias: Window_BattleStatus, initialize
  35. # - Overwrites: Window_BattleStatus, draw_item
  36. #
  37. #===============================================================================

  38. $imported = {} if $imported == nil
  39. $imported["DisplayPartyData"] = true

  40. module YE
  41.   module BATTLE
  42.     module DISPLAY
  43.       
  44.       # This changes what will and will not be shown. If you choose to shown
  45.       # the actor's face graphic, you can choose its opacity. 255 means it's
  46.       # fully visible while 0 means it's completely transparent. For the
  47.       # number of states shown, do not exceed 4 unless you want the states to
  48.       # overlap into the next actor's data window.
  49.       SHOW_ALLY_FACE    = true
  50.       ALLY_FACE_OPACITY = 100
  51.       SHOW_ALLY_SPRITE  = true
  52.       MAX_STATES_SHOWN  = 4
  53.       
  54.       # This governs the sizes used for each of the items in the display.
  55.       NAME_FONT_SIZE  = 16
  56.       STAT_FONT_SIZE  = 16
  57.       
  58.       # This governs how HP and MP are shown. Here is a type listing for each
  59.       # individual one.
  60.       # Type 1 = Current           Type 4 = Current & Percentage
  61.       # Type 2 = Current/Maximum   Type 5 = Current/Max & Percent
  62.       # Type 3 = Percentage
  63.       SHOWN_HP_TYPE = 1
  64.       SHOWN_MP_TYPE = 1
  65.       
  66.       # For those using Custom Skill Effects and would like to show Rage for
  67.       # your bar, input the ID's of the classes you would Rage to appear for.
  68.       # The reason this is dependent on class rather than character is because
  69.       # if the character switches classes to one that no longer uses rage, the
  70.       # rage meter will be useless there.
  71.       RAGE_CLASSES = [1, 2]
  72.       
  73.       # This governs the type of display used for Rage. Here's a list of the
  74.       # various types of way you can choose to display Rage. If you don't want
  75.       # rage to be displayed at all, set it to 0.
  76.       # Type 1 - Rage icon and number value appears in lower left corner. MP
  77.       #          bar is moved over to give room for Rage bar.
  78.       # Type 2 - Rage icon and number value appears in lower right corner. MP
  79.       #          bar is on the left side instead.
  80.       RAGE_DISPLAY = 1
  81.       
  82.       # This governs the text shown for rage and the gauge colours used.
  83.       RAGE_TEXT   = "RG"
  84.       RAGE_GAUGE1 = 2
  85.       RAGE_GAUGE2 = 10
  86.       
  87.       # For those who are using Battler Stat Morale, this script can place a
  88.       # morale gauge under your MP bar (after pushing it upward).
  89.       GAUGE_MORALE   = false
  90.       MORALE_TEXT    = "Morale"
  91.       MORALE_GAUGE1  = 28        # This is for positive morale.
  92.       MORALE_GAUGE2  = 29        # This is for positive morale.
  93.       MORALE_GAUGE3  = 30        # This is for positive morale.
  94.       MORALE_GAUGE4  = 31        # This is for positive morale.
  95.       
  96.       # For those who don't want an extra gauge but would still like to show
  97.       # morale, there's an icon you can display for it instead. Morale icon
  98.       # will not appear if morale is equal to zero.
  99.       ICON_MORALE = true
  100.       ICON_MORALE_HIGH = 242     # Appears when morale is positive.
  101.       ICON_MORALE_LOW  = 241     # Appears when morale is negative.
  102.       MORALE_DIVISOR   = 100     # How much morale shown is divided by.
  103.       MORALE_FONT_SIZE = 16      # This is the font size used for morale icon.
  104.       MORALE_COL_HIGH  = 0       # This is the text colour used for high morale.
  105.       MORALE_COL_LOW   = 8       # This is the text colour used for low morale.
  106.       
  107.     end # end module DISPLAY
  108.   end # end module BATTLE
  109. end # end module YE

  110. #===============================================================================
  111. # Don't touch anything past here or else your computer will explode and you will
  112. # be a very sad person.
  113. #===============================================================================

  114. #==============================================================================
  115. # Window_BattleStatus
  116. #==============================================================================

  117. class Window_BattleStatus < Window_Selectable

  118.   #--------------------------------------------------------------------------
  119.   # Alias Object Initialization
  120.   #--------------------------------------------------------------------------
  121.   alias displaypartydata_initialize initialize unless $@
  122.   def initialize
  123.     displaypartydata_initialize
  124.     @column_max = $game_party.members.size
  125.     @spacing = 0
  126.   end
  127.   
  128.   #--------------------------------------------------------------------------
  129.   # Draw Item
  130.   #--------------------------------------------------------------------------
  131.   def draw_item(index)
  132.     rect = Rect.new(0, 0, 0, 0)
  133.     rect.width = 96
  134.     rect.height = 96
  135.     rect.x = index * 96
  136.     rect.y = 0
  137.     self.contents.clear_rect(rect)
  138.     self.contents.font.color = normal_color
  139.     @actor = $game_party.members[index]
  140.     draw_party_face(index)
  141.     draw_party_state(index)
  142.     draw_party_name(index)
  143.     draw_party_graphic(index)
  144.     draw_party_hp(index)
  145.     draw_party_mp(index)
  146.     draw_party_morale(index)
  147.   end
  148.   
  149.   #--------------------------------------------------------------------------
  150.   # Update Cursor
  151.   #--------------------------------------------------------------------------
  152.   def update_cursor
  153.     if @index < 0
  154.       self.cursor_rect.empty
  155.     else
  156.       self.cursor_rect.set(@index * 96, 0, 96, 96)
  157.     end
  158.   end
  159.   
  160.   #--------------------------------------------------------------------------
  161.   # Draw Party Face
  162.   #--------------------------------------------------------------------------
  163.   def draw_party_face(index)
  164.     return unless YE::BATTLE::DISPLAY::SHOW_ALLY_FACE
  165.     opacity = YE::BATTLE::DISPLAY::ALLY_FACE_OPACITY
  166.     @actor = $game_party.members[index]
  167.     face_name = @actor.face_name
  168.     face_index = @actor.face_index
  169.     bitmap = Cache.face(face_name)
  170.     rect = Rect.new(0, 0, 0, 0)
  171.     rect.x = face_index % 4 * 96 + 4 / 2
  172.     rect.y = face_index / 4 * 96 + 4 / 2
  173.     rect.width = 92
  174.     rect.height = 92
  175.     self.contents.blt(index * 96 + 2, 2, bitmap, rect, opacity)
  176.     bitmap.dispose
  177.   end
  178.   
  179.   #--------------------------------------------------------------------------
  180.   # Draw Party State
  181.   #--------------------------------------------------------------------------
  182.   def draw_party_state(index)
  183.     return unless YE::BATTLE::DISPLAY::MAX_STATES_SHOWN > 0
  184.     dx = index * 96
  185.     dy = WLH * 1
  186.     dw = YE::BATTLE::DISPLAY::MAX_STATES_SHOWN * 24
  187.     draw_actor_state(@actor, dx, dy, dw)
  188.   end
  189.   
  190.   #--------------------------------------------------------------------------
  191.   # Draw Party Graphic
  192.   #--------------------------------------------------------------------------
  193.   def draw_party_graphic(index)
  194.     return unless YE::BATTLE::DISPLAY::SHOW_ALLY_SPRITE
  195.     @actor = $game_party.members[index]
  196.     dx = index * 96 + 48
  197.     dy = WLH * 3 - YE::BATTLE::DISPLAY::STAT_FONT_SIZE + 16 + 2
  198.     if $imported["BattlerStatMorale"] and YE::BATTLE::DISPLAY::GAUGE_MORALE
  199.       dy -= YE::BATTLE::DISPLAY::STAT_FONT_SIZE
  200.     end
  201.     draw_character(@actor.character_name, @actor.character_index, dx, dy)
  202.   end
  203.   
  204.   #--------------------------------------------------------------------------
  205.   # Draw Party Name
  206.   #--------------------------------------------------------------------------
  207.   def draw_party_name(index)
  208.     self.contents.font.color = hp_color(@actor)
  209.     self.contents.font.size = YE::BATTLE::DISPLAY::NAME_FONT_SIZE
  210.     dx = 96 * index + 4
  211.     dy = 0
  212.     dw = 94
  213.     if $imported["BattlerStatMorale"] and YE::BATTLE::DISPLAY::ICON_MORALE
  214.       dw -= 24
  215.     end
  216.     self.contents.draw_text(dx, dy, dw, WLH, @actor.name)
  217.   end
  218.   
  219.   #--------------------------------------------------------------------------
  220.   # Draw Party HP
  221.   #--------------------------------------------------------------------------
  222.   def draw_party_hp(index)
  223.     dx = index * 96 + 2
  224.     dy = WLH * 3 - YE::BATTLE::DISPLAY::STAT_FONT_SIZE + 2
  225.     if $imported["BattlerStatMorale"] and YE::BATTLE::DISPLAY::GAUGE_MORALE
  226.       dy -= YE::BATTLE::DISPLAY::STAT_FONT_SIZE
  227.     end
  228.     dw = 92
  229.     draw_actor_hp_gauge(@actor, dx, dy, dw)
  230.     self.contents.font.size = YE::BATTLE::DISPLAY::STAT_FONT_SIZE
  231.     self.contents.font.color = system_color
  232.     self.contents.draw_text(dx + 2, dy + 4, 28, WLH, Vocab::hp_a, 0)
  233.     self.contents.font.color = hp_color(@actor)
  234.     text = sprintf("%d/%d", @actor.hp, @actor.maxhp)
  235.     percent = @actor.hp * 100.0 / @actor.maxhp
  236.     case YE::BATTLE::DISPLAY::SHOWN_HP_TYPE
  237.     when 1; text = @actor.hp
  238.     when 2; text = sprintf("%d/%d", @actor.hp, @actor.maxhp)
  239.     when 3; text = sprintf("%d%%", percent)
  240.     when 4; text = sprintf("%d %d%%", @actor.hp, percent)
  241.     when 5; text = sprintf("%d/%d %d%%", @actor.hp, @actor.maxhp, percent)
  242.     end
  243.     self.contents.draw_text(dx + 30, dy + 4, dw - 32, WLH, text, 2)
  244.   end
  245.   
  246.   #--------------------------------------------------------------------------
  247.   # Draw Party HP
  248.   #--------------------------------------------------------------------------
  249.   def draw_party_mp(index)
  250.     dx = index * 96 + 2
  251.     dy = WLH * 3
  252.     if $imported["BattlerStatMorale"] and YE::BATTLE::DISPLAY::GAUGE_MORALE
  253.       dy -= YE::BATTLE::DISPLAY::STAT_FONT_SIZE
  254.     end
  255.     dw = 92
  256.     #---
  257.     move_mp_bar = false
  258.     if $imported["CustomSkillEffects"]
  259.       if YE::BATTLE::DISPLAY::RAGE_CLASSES.include?(@actor.class.id)
  260.         move_mp_bar = true
  261.       end
  262.       if $imported["SubclassSelectionSystem"] and @actor.subclass != nil
  263.         if YE::BATTLE::DISPLAY::RAGE_CLASSES.include?(@actor.subclass.id)
  264.           move_mp_bar = true
  265.         end
  266.       end
  267.     end
  268.     if move_mp_bar and YE::BATTLE::DISPLAY::RAGE_DISPLAY == 1
  269.       dw /= 2
  270.       dx += dw
  271.       draw_party_rage(index)
  272.     elsif move_mp_bar and YE::BATTLE::DISPLAY::RAGE_DISPLAY == 1
  273.       dw /= 2
  274.       draw_party_rage(index)
  275.     end
  276.     #---
  277.     draw_actor_mp_gauge(@actor, dx, dy, dw)
  278.     self.contents.font.size = YE::BATTLE::DISPLAY::STAT_FONT_SIZE
  279.     self.contents.font.color = system_color
  280.     self.contents.draw_text(dx + 2, dy + 4, 28, WLH, Vocab::mp_a, 0)
  281.     self.contents.font.color = mp_color(@actor)
  282.     text = sprintf("%d/%d", @actor.mp, @actor.maxmp)
  283.     unless @actor.maxmp == 0
  284.       percent = @actor.mp * 100.0 / @actor.maxmp
  285.     else
  286.       percent = 0
  287.     end
  288.     case YE::BATTLE::DISPLAY::SHOWN_MP_TYPE
  289.     when 1; text = @actor.mp
  290.     when 2; text = sprintf("%d/%d", @actor.mp, @actor.maxmp)
  291.     when 3; text = sprintf("%d%%", percent)
  292.     when 4; text = sprintf("%d %d%%", @actor.mp, percent)
  293.     when 5; text = sprintf("%d/%d %d%%", @actor.mp, @actor.maxmp, percent)
  294.     end
  295.     self.contents.draw_text(dx + 30, dy + 4, dw - 32, WLH, text, 2)
  296.   end
  297.   
  298.   #--------------------------------------------------------------------------
  299.   # Draw Party Rage
  300.   #--------------------------------------------------------------------------
  301.   def draw_party_rage(index)
  302.     return unless $imported["CustomSkillEffects"]
  303.     dx = 0
  304.     dy = WLH * 3
  305.     if $imported["BattlerStatMorale"] and YE::BATTLE::DISPLAY::GAUGE_MORALE
  306.       dy -= YE::BATTLE::DISPLAY::STAT_FONT_SIZE
  307.     end
  308.     dw = 92 / 2
  309.     if YE::BATTLE::DISPLAY::RAGE_DISPLAY == 1
  310.       dx = index * 96 + 2
  311.     elsif YE::BATTLE::DISPLAY::RAGE_DISPLAY == 2
  312.       dx = index * 96 + 2 + dw
  313.     end
  314.     draw_rage_gauge(@actor, dx, dy, dw)
  315.     self.contents.font.size = YE::BATTLE::DISPLAY::STAT_FONT_SIZE
  316.     self.contents.font.color = system_color
  317.     text = YE::BATTLE::DISPLAY::RAGE_TEXT
  318.     self.contents.draw_text(dx + 2, dy + 4, 28, WLH, text, 0)
  319.     self.contents.font.color = mp_color(@actor)
  320.     text = @actor.rage
  321.     self.contents.draw_text(dx + 30, dy + 4, dw - 32, WLH, text, 2)
  322.   end
  323.   
  324.   #--------------------------------------------------------------------------
  325.   # Draw Rage Gauge
  326.   #--------------------------------------------------------------------------
  327.   def draw_rage_gauge(actor, x, y, width = 120)
  328.     return unless $imported["CustomSkillEffects"]
  329.     gc0 = gauge_back_color
  330.     gc1 = text_color(YE::BATTLE::DISPLAY::RAGE_GAUGE1)
  331.     gc2 = text_color(YE::BATTLE::DISPLAY::RAGE_GAUGE2)
  332.     gh = 6
  333.     gy = y + WLH - 8 - (gh - 6)
  334.     gb = width
  335.     self.contents.fill_rect(x, gy, gb, gh, gc0)
  336.     if actor.rage <= 0
  337.       gw = 0
  338.     else
  339.       gw = gb * actor.rage / YE::BATTLE::MAX_RAGE
  340.     end
  341.     self.contents.gradient_fill_rect(x, gy, gw, gh, gc1, gc2)
  342.   end
  343.   
  344.   #--------------------------------------------------------------------------
  345.   # Draw Party Morale
  346.   #--------------------------------------------------------------------------
  347.   def draw_party_morale(index)
  348.     return unless $imported["BattlerStatMorale"]
  349.     draw_morale_icon(index)
  350.     return unless YE::BATTLE::DISPLAY::GAUGE_MORALE
  351.     dx = index * 96 + 2
  352.     dy = WLH * 3
  353.     dw = 92
  354.     draw_morale_gauge(@actor, dx, dy, dw)
  355.     self.contents.font.size = YE::BATTLE::DISPLAY::STAT_FONT_SIZE
  356.     self.contents.font.color = system_color
  357.     text = YE::BATTLE::DISPLAY::MORALE_TEXT
  358.     self.contents.draw_text(dx + 2, dy + 4, 44, WLH, text, 0)
  359.     self.contents.font.color = normal_color
  360.     text = sprintf("%+d", @actor.morale)
  361.     self.contents.draw_text(dx + 46, dy + 4, 44, WLH, text, 2)
  362.   end
  363.   
  364.   #--------------------------------------------------------------------------
  365.   # Draw Morale Gauge
  366.   #--------------------------------------------------------------------------
  367.   def draw_morale_gauge(actor, x, y, width = 120)
  368.     return unless $imported["BattlerStatMorale"]
  369.     gc0 = gauge_back_color
  370.     gc1 = text_color(YE::BATTLE::DISPLAY::MORALE_GAUGE1)
  371.     gc2 = text_color(YE::BATTLE::DISPLAY::MORALE_GAUGE2)
  372.     gc3 = text_color(YE::BATTLE::DISPLAY::MORALE_GAUGE3)
  373.     gc4 = text_color(YE::BATTLE::DISPLAY::MORALE_GAUGE4)
  374.     gh = 6
  375.     gy = y + WLH - 8 - (gh - 6)
  376.     gb = width
  377.     self.contents.fill_rect(x, gy, gb, gh, gc0)
  378.     if actor.morale == 0
  379.       gw = 0
  380.     elsif actor.morale > 0
  381.       gw = gb * actor.morale / actor.max_morale
  382.       self.contents.gradient_fill_rect(x, gy, gw, gh, gc1, gc2)
  383.     else
  384.       gw = gb * actor.morale / actor.min_morale
  385.       x += gb - gw
  386.       self.contents.gradient_fill_rect(x, gy, gw, gh, gc3, gc4)
  387.     end
  388.   end
  389.   
  390.   #--------------------------------------------------------------------------
  391.   # Draw Morale Icon
  392.   #--------------------------------------------------------------------------
  393.   def draw_morale_icon(index)
  394.     return unless YE::BATTLE::DISPLAY::ICON_MORALE
  395.     morale = @actor.morale / YE::BATTLE::DISPLAY::MORALE_DIVISOR
  396.     return if morale == 0
  397.     dx = index * 96 + 72
  398.     dy = 0
  399.     if morale > 0
  400.       icon = YE::BATTLE::DISPLAY::ICON_MORALE_HIGH
  401.       colour = YE::BATTLE::DISPLAY::MORALE_COL_HIGH
  402.     else
  403.       icon = YE::BATTLE::DISPLAY::ICON_MORALE_LOW
  404.       colour = YE::BATTLE::DISPLAY::MORALE_COL_LOW
  405.     end
  406.     draw_icon(icon, dx, dy)
  407.     self.contents.font.size = YE::BATTLE::DISPLAY::MORALE_FONT_SIZE
  408.     self.contents.font.color = text_color(colour)
  409.     text = sprintf("%+d%%", morale)
  410.     self.contents.draw_text(dx + 2, dy + 2, 20, 20, text, 1)
  411.   end
  412.   
  413. end # end Window_BattleStatus

  414. #===============================================================================
  415. #
  416. # END OF FILE
  417. #
  418. #===============================================================================
复制代码

点评

恩恩,米关系哦,决定用约束横版了,嘻嘻  发表于 2010-9-29 16:36
不好意思,我很懒惰……  发表于 2010-9-28 22:25
恩……可以不知羞耻的在别人的提问帖求一个中文版的嘛? 5555555555不管了!求一个中文的!T.T  发表于 2010-9-28 17:21
- -  发表于 2010-9-27 19:45
还有日文,西班牙,俄罗斯,华文(废话),等等的说……  发表于 2010-9-27 18:58

评分

参与人数 1星屑 +700 收起 理由
夕阳武士 + 700 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

3
 楼主| 发表于 2010-9-27 20:45:31 | 只看该作者
回复 Rion幻音 的帖子

有图片选单的吗……谢谢啊
   

点评

记得以前有的……但现在暂时找不到……  发表于 2010-9-28 22:26
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
518 小时
注册时间
2010-6-16
帖子
1073
4
发表于 2010-9-29 15:47:18 | 只看该作者
找到了咯!(又是哪国语言(=w=b))虽然找到了,但好像和你说的有点差别……

Cross+Commands.rar

250.95 KB, 下载次数: 73

点评

感谢啊!不过怎么改它的坐标哈?  发表于 2010-9-30 12:29

评分

参与人数 1星屑 +14 收起 理由
冰舞蝶恋 + 14 哇,只能给这么多了的说……

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
681
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

5
 楼主| 发表于 2010-9-29 19:01:20 | 只看该作者
回复 Rion幻音 的帖子
啊啊啊……感谢……不过为什么用脚本把开始的战斗和逃跑选项去掉了以后,它就无法显示了呢?呜啊。求解啊。。。。

点评

好吧,又自己解决了= =囧啊!原来没人回复的时候就会产生自己摸索的动力啊!  发表于 2010-9-30 13:01
算了,又解决了……怎么改坐标?  发表于 2010-9-30 12:29
也解决了,求为何去掉战斗和逃跑之后,选技能就会逃跑,逃跑还是逃跑……  发表于 2010-9-29 20:20
对了,自己解决了……另求怎么改坐标……  发表于 2010-9-29 19:19
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
518 小时
注册时间
2010-6-16
帖子
1073
6
发表于 2010-9-30 15:03:16 | 只看该作者
请加油吧……(和我的动力来源一样啊……)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-12-23 07:22

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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