Project1

标题: 轩辕剑式的菜单问题 [打印本页]

作者: bbhh    时间: 2008-3-28 00:07
标题: 轩辕剑式的菜单问题
我用了轩辕剑式菜单
http://rpg.blue/web/htm/news298.htm

把窗口左边的图像改成了自己做的头像,但左边的图像空间太小了,我做的图像放不下,我想把改大一点,可具体在哪改啊。。哪位高手教教我啊 [LINE]1,#dddddd[/LINE]此贴于 2008-3-31 5:47:17 被版主水迭澜提醒,请楼主看到后对本贴做出回应。
[LINE]1,#dddddd[/LINE]
----------------版务----------------
如果问题未解决,请继续提问
如果问题已解决,请结贴
若到末贴发贴时间后一周仍未结贴
管理员会自动为你过期帖子、结贴或强行认可答案(好人卡-1) [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 水迭澜    时间: 2008-3-28 00:10
找到那个相应的窗口找找看initialize部分的super里四个值吧……
没有这个菜单,所以不清楚具体是哪个窗口了……
多半是叫做Window_MenuStatus一类的……
作者: bbhh    时间: 2008-3-28 00:21
脚本盲,搞不出来。。。。{/ll}
作者: 9244579    时间: 2008-3-28 01:10
你想放多大的?
貌似那窗口不够放什么图啊。。
放了图也需要整改各属性哦。。。。
作者: 9244579    时间: 2008-3-28 01:25
应该可以放下最大的图片了,只是位置关系
把脚本放到main前然后按以下笨拙方法进行
就ok了


  1. #==============================================================================
  2. #==============================================================================
  3. #==============================================================================
  4. #==============================================================================
  5. #使用方法:随便弄一张空白图 命名为“0”放到picture元件里
  6. #当然角色四张图也放到picture元件里
  7. #以及四张相对应的角色图片名字。
  8. $一号角色图片X坐标 = -30 + 20
  9. $一号角色图片Y坐标 = -15
  10. # 一号对应图片名字为 “1”
  11. $二号角色图片X坐标 = -30 + 20
  12. $二号角色图片Y坐标 = +115
  13. # 二号对应图片名字为 “2”
  14. $三号角色图片X坐标 = -30 + 20
  15. $三号角色图片Y坐标 = +245
  16. # 三号对应图片名字为 “3”
  17. $四号角色图片X坐标 = -30 + 20
  18. $四号角色图片Y坐标 = +375
  19. # 四号对应图片名字为 “4”
  20. #==============================================================================
  21. #==============================================================================
  22. #==============================================================================

  23. class Window_MenuStatus < Window_Selectable
  24.   #--------------------------------------------------------------------------
  25.   # ● 初始化目标
  26.   #--------------------------------------------------------------------------
  27.   def initialize
  28.     super(0, 0, 160, 352)
  29.     self.contents = Bitmap.new(width - 32, height - 32)
  30.     refresh
  31.     self.active = false
  32.     self.index = -2
  33.   end
  34.   #--------------------------------------------------------------------------
  35.   # ● 刷新
  36.   #--------------------------------------------------------------------------
  37.   def refresh
  38.     self.contents.clear
  39.     @item_max = $game_party.actors.size
  40.     for i in 0...$game_party.actors.size
  41.       x = 64
  42.       y = i * 80
  43.       actor = $game_party.actors[i]
  44.      draw_actor_picture1
  45.      draw_actor_picture2
  46.      draw_actor_picture3
  47.      draw_actor_picture4
  48.       # 我全写成散的!                  =。=
  49.       self.contents.font.color = normal_color
  50.       self.contents.font.size = 20
  51.       self.contents.draw_text(x - 30, y, 120, 32, actor.name)
  52.       self.contents.font.color = system_color
  53.       self.contents.draw_text(x - 55, y + 50, 32, 32, "Lv")
  54.       self.contents.font.color = normal_color
  55.       self.contents.draw_text(x - 40, y + 50, 24, 32, actor.level.to_s, 2)
  56.       self.contents.font.size = 16
  57.       self.contents.font.color = system_color
  58.       self.contents.draw_text(x - 30, y + 17, 32, 32, $data_system.words.hp)
  59.       self.contents.font.color = actor.hp == 0 ? knockout_color :
  60.         actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  61.       self.contents.draw_text(x - 6, y + 17, 32, 32, actor.hp.to_s, 2)
  62.       self.contents.font.color = normal_color
  63.       self.contents.draw_text(x - 26 + 48, y + 17, 12, 32, "/", 1)
  64.       self.contents.draw_text(x - 24 + 56, y + 17, 32, 32, actor.maxhp.to_s)
  65.       self.contents.font.color = system_color
  66.       self.contents.draw_text(x - 30, y + 34, 32, 32, $data_system.words.sp)
  67.       self.contents.font.color = actor.sp == 0 ? knockout_color :
  68.         actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  69.       self.contents.draw_text(x - 6, y + 34, 32, 32, actor.sp.to_s, 2)
  70.       self.contents.font.color = normal_color
  71.       self.contents.draw_text(x - 26 + 48, y + 34, 12, 32, "/", 1)
  72.       self.contents.draw_text(x - 24 + 56, y + 34, 32, 32, actor.maxsp.to_s)
  73.     end
  74.   end
  75.   #--------------------------------------------------------------------------
  76.   # ● 刷新光标矩形
  77.   #--------------------------------------------------------------------------
  78.   def update_cursor_rect
  79.     if @index <= -2
  80.       self.cursor_rect.empty
  81.     elsif @index == -1
  82.       self.cursor_rect.set(0, 0, self.width - 32, @item_max * 80)
  83.     else
  84.       self.cursor_rect.set(0, @index * 80, self.width - 32, 80)
  85.     end
  86.   end
  87.   
  88.      #--------------------------------------------------------------------------
  89. # ● 图形的描绘
  90. #     actor : 角色 1 号
  91. #--------------------------------------------------------------------------
  92. def draw_actor_picture1
  93.    if $game_party.actors.include?($game_actors[1])
  94.    bitmap = RPG::Cache.picture("1")
  95. else
  96.    bitmap = RPG::Cache.picture("0")
  97. end  
  98.    src_rect = Rect.new(0, 0, 640, 480)
  99.    self.contents.blt($一号角色图片X坐标, $一号角色图片Y坐标, bitmap, src_rect)
  100. end

  101.      #--------------------------------------------------------------------------
  102. # ● 图形的描绘
  103. #     actor : 角色 2 号
  104. #--------------------------------------------------------------------------
  105. def draw_actor_picture2
  106.    if $game_party.actors.include?($game_actors[2])
  107.    bitmap = RPG::Cache.picture("2")
  108. else
  109.    bitmap = RPG::Cache.picture("0")
  110. end  
  111.    src_rect = Rect.new(0, 0, 640, 480)
  112.    self.contents.blt($二号角色图片X坐标, $二号角色图片Y坐标, bitmap, src_rect)
  113. end

  114.        #--------------------------------------------------------------------------
  115. # ● 图形的描绘
  116. #     actor : 角色 3 号
  117. #--------------------------------------------------------------------------
  118. def draw_actor_picture3
  119.    if $game_party.actors.include?($game_actors[3])
  120.    bitmap = RPG::Cache.picture("3")
  121. else
  122.    bitmap = RPG::Cache.picture("0")
  123. end  
  124.    src_rect = Rect.new(0, 0, 640, 480)
  125.    self.contents.blt($三号角色图片X坐标, $三号角色图片Y坐标, bitmap, src_rect)
  126. end

  127.          #--------------------------------------------------------------------------
  128. # ● 图形的描绘
  129. #     actor : 角色 4 号
  130. #--------------------------------------------------------------------------
  131. def draw_actor_picture4
  132.    if $game_party.actors.include?($game_actors[4])
  133.    bitmap = RPG::Cache.picture("4")
  134. else
  135.    bitmap = RPG::Cache.picture("0")
  136. end  
  137.    src_rect = Rect.new(0, 0, 640, 480)
  138.    self.contents.blt($四号角色图片X坐标, $四号角色图片Y坐标, bitmap, src_rect)
  139. end

  140. end
复制代码


作者: bbhh    时间: 2008-3-28 22:19
以下引用9244579于2008-3-27 17:25:27的发言:

应该可以放下最大的图片了,只是位置关系
把脚本放到main前然后按以下笨拙方法进行
就ok了


谢谢你的热心帮助,可是不是我说的效果,字与图片混在一起,而且选到装备栏时还和原先的一样。。。。
作者: 凌冰    时间: 2008-3-28 22:25
其实我之前用那个脚本的办法就是把图片改小

作者: bbhh    时间: 2008-3-29 00:29
以下引用凌冰于2008-3-28 14:25:16的发言:

其实我之前用那个脚本的办法就是把图片改小


你的很漂亮啊,而且头像很大,又有血条,可以告诉我怎么修改吗?谢了。
作者: bbhh    时间: 2008-3-29 00:31
字体什么的都放到了右边,怎么做啊。还有装备栏脚本好像是单独的,还要单独改吗?
作者: 凌冰    时间: 2008-3-29 00:39
  1. #==============================================================================
  2. # ■ Window_MenuStatus
  3. #------------------------------------------------------------------------------
  4. #  显示菜单画面和同伴状态的窗口。
  5. #==============================================================================

  6. class Window_MenuStatus < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化目标
  9.   #--------------------------------------------------------------------------
  10.   def initialize
  11.     super(0, 0, 160, 480)
  12.     self.contents = Bitmap.new(width - 32, height - 32)
  13.     refresh
  14.     self.active = false
  15.     self.index = -2
  16.   end
  17.   #--------------------------------------------------------------------------
  18.   # ● 刷新
  19.   #--------------------------------------------------------------------------
  20.   def refresh
  21.     self.contents.clear
  22.     @item_max = $game_party.actors.size
  23.     for i in 0...$game_party.actors.size
  24.       x = 64
  25.       y = i * (480-32)/4
  26.       actor = $game_party.actors[i]
  27.       #draw_actor_graphic(actor, x - 50, y + 50)
  28.       testname = actor.name+"_f"
  29.     #if $加密 == true
  30.       #bitmap=Bitmap.new("Graphics/face/#{testname}")
  31.     #else
  32.       bitmap=Bitmap.new("Graphics/face/#{testname}")
  33.     #end
  34.       src_rect = Rect.new(0, 0, 112, 112) #——可自己调整大小
  35.       self.contents.blt(4, y+4, bitmap, src_rect)
  36.       # 我全写成散的!                  =。=
  37.       self.contents.font.color = normal_color
  38.       self.contents.font.size = 20
  39.       self.contents.draw_text(84, y, 160-115, 32, actor.name)
  40.       #self.contents.font.size = 20
  41.       self.contents.font.color = system_color
  42.       self.contents.draw_text(84, y+25, 24, 32, "Lv")
  43.       self.contents.font.color = normal_color
  44.       self.contents.draw_text(84, y + 25, 42, 32, actor.level.to_s, 2)
  45.       self.contents.font.size = 16
  46.       self.contents.font.color = system_color
  47.       self.contents.draw_text(84, y + 50, 48, 32, actor.class_name.to_s, 4)
  48.       self.contents.font.size = 16
  49.       #self.contents.font.color = system_color
  50.     draw_actor_hp(actor,0, y+72, 128)
  51.     draw_actor_sp(actor,0, y+84, 128)
  52.     end
  53.   end
  54.   #--------------------------------------------------------------------------
  55.   # ● 刷新光标矩形
  56.   #--------------------------------------------------------------------------
  57.   def update_cursor_rect
  58.     if @index <= -2
  59.       self.cursor_rect.empty
  60.     elsif @index == -1
  61.       self.cursor_rect.set(0, 0, self.width - 32, @item_max * 112)
  62.     else
  63.       self.cursor_rect.set(0, @index * 112, self.width - 32, 112)
  64.     end
  65.   end
  66. end
复制代码

至于血条,我用的是RTAB版血槽
头像80*80,在face文件夹下,文件名为对应的人物名+_f
作者: bbhh    时间: 2008-3-29 00:45
以下引用凌冰于2008-3-28 16:39:53的发言:

至于血条,我用的是RTAB版血槽


谢谢,可以告诉我头像位置怎么调整吗?是不是脚本很复杂啊。。。。怎么调大点呢?我看你的头像位置很好啊,羡慕中。。。。。。

作者: 凌冰    时间: 2008-3-29 00:47
在self.contents.blt(4, y+4, bitmap, src_rect)那一行前两项改
作者: bbhh    时间: 2008-3-29 00:50
呵呵,已经很完美了。。。不过移到装备栏就没变,装备好象是另一个脚本,帮帮改改啊{/cy}{/cy}{/qiang}{/qiang}
作者: bbhh    时间: 2008-3-29 00:57
凌冰大大,还发现一个问题,如有四个角色的话就放不下了,上面好像要调整一下,就像你那张图一样才行。。。。{/ll},我不会调。。。再请帮忙一下。
作者: 凌冰    时间: 2008-3-29 01:05
实在不好跟你说怎么改
我把那个改成这样了

你把你的工程发上来吧
作者: bbhh    时间: 2008-3-29 01:10
不知道怎么发啊,,我没用其它的东东,就用了柳柳的三国群侠传工程加了个轩辕剑菜单。。。
工程怎么发给你。
作者: 水迭澜    时间: 2008-3-29 01:13
以下引用凌冰于2008-3-28 14:25:16的发言:
其实我之前用那个脚本的办法就是把图片改小

你你你你个同人男……竟然用bl图……顿时脑残……
话说修改窗口的脚本很基础了,建议lz学会为好~
作者: bbhh    时间: 2008-3-29 01:16
以下引用水迭澜于2008-3-28 17:13:53的发言:

你你你你个同人男……竟然用bl图……顿时脑残……
话说修改窗口的脚本很基础了,建议lz学会为好~


谢谢关心,我看了柳柳的教程,可只是知道具体的位置改法,窗口大小和选择的光标条就不知道在哪改了,有相关的教程吗?我比较笨
作者: Iselia雪    时间: 2008-3-29 01:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: bbhh    时间: 2008-3-29 01:19
以下引用Iselia雪于2008-3-28 17:16:27的发言:

很基础的MS只有默认的Scene_Menu,刚刚学的时候看Scene_Equip简直是折磨吼- -


此话怎讲?
作者: 凌冰    时间: 2008-3-29 01:20
以下引用水迭澜于2008-3-28 17:13:53的发言:


以下引用凌冰于2008-3-28 14:25:16的发言:
其实我之前用那个脚本的办法就是把图片改小



你你你你个同人男……竟然用bl图……顿时脑残……
话说修改窗口的脚本很基础了,建议lz学会为好~

没在意,是霸王阴功里的图!
话说,星辰殿的轩辕菜单,我当初改起来也是蛮费尽的(好像是07年的事了!囧)
作者: 凌冰    时间: 2008-3-29 01:22

点击那个论坛附件
作者: Iselia雪    时间: 2008-3-29 01:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: bbhh    时间: 2008-3-29 01:24
以下引用凌冰于2008-3-28 17:20:26的发言:

没在意,是霸王阴功里的图!
话说,星辰殿的轩辕菜单,我当初改起来也是蛮费尽的(好像是07年的事了!囧)


能不能帮我改一下轩辕菜单啊,只要是在左边能显示70*70的头像就行。。其它的还好,感觉不用改,先谢谢了。
作者: 凌冰    时间: 2008-3-29 01:26
以下引用Iselia雪于2008-3-28 17:23:05的发言:


以下引用凌冰于2008-3-28 17:20:26的发言:
没在意,是霸王阴功里的图!


YY的脚本功底至少比我高出10年,没10年也有8年,差不多和美兽夏哪一个级别。
你你你……出于尊敬也得换张!!!

我错了,我真的错了,我是出于崇拜,才用的
好吧!改好发上来
作者: bbhh    时间: 2008-3-29 01:27
我用的就是这个菜单:

http://rpg.blue/web/htm/news298.htm

帮我改一下,只要是在左边能显示70*70的头像就行。。
作者: bbhh    时间: 2008-3-29 01:30
上传完了,脚本盲就是累。。。好在有好多热心人。。。。开心。。。。

http://rpg.blue/upload_program/files/轩辕剑菜单_87154148.rar

作者: 凌冰    时间: 2008-3-29 01:53
Scene_Menu New!改成这样
  1. #==============================================================================
  2. # ■ 仿轩辕剑式的菜单 BY 亿万星辰
  3. #==============================================================================
  4. # ■ Scene_Menu
  5. #------------------------------------------------------------------------------
  6. #  处理菜单画面的类。
  7. #==============================================================================

  8. class Scene_Menu
  9.   #--------------------------------------------------------------------------
  10.   # ● 初始化对像
  11.   #     menu_index : 命令光标的初期位置
  12.   #--------------------------------------------------------------------------
  13.   def initialize(menu_index = 0)
  14.     @menu_index = menu_index
  15.     @item_update = false
  16.     @skill_update = false
  17.     @equip_update = false
  18.     @status_update = false
  19.     @sys_update = false
  20.     @equip_status_update = false
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 主处理
  24.   #--------------------------------------------------------------------------
  25.   def main
  26.     #----------------------------- 主菜单 -----------------------------------
  27.     # 生成命令窗口
  28.     @command_window = Window_MenuCommand.new(@menu_index)
  29.     # 同伴人数为 0 的情况下
  30.     if $game_party.actors.size == 0
  31.       # 物品、特技、装备、状态无效化
  32.       @command_window.disable_item(0)
  33.       @command_window.disable_item(1)
  34.       @command_window.disable_item(2)
  35.       @command_window.disable_item(3)
  36.     end
  37.     # 禁止存档的情况下
  38.     if $game_system.save_disabled
  39.       # 存档无效
  40.       @command_window.disable_item(4)
  41.     end
  42.     # 生成金钱窗口
  43.     @gold_window = Window_Gold.new
  44.     @gold_window.x = 0
  45.     @gold_window.y = 416
  46.     # 生成状态窗口
  47.     @status_window = Window_MenuStatus.new
  48.     @status_window.x = 0
  49.     @status_window.y = 64
  50.     #@status_window = Window_MenuEquip.new
  51.     #@status_window.x = 0
  52.     #@status_window.y = 64
  53.     #@status_window.visible = false
  54.     # 遮蔽窗口
  55.     @dummy_window = Window_Base.new(160, 64, 480, 416)
  56.     @dummy_window.back_opacity = 0
  57.     @dummy_sprite = Sprite.new(Viewport.new(160, 64, 480, 416))
  58.     @old_index = @menu_index
  59.     case @menu_index
  60.     when 0
  61.       @dummy_sprite.bitmap = Bitmap.new("Graphics/Pictures/item")
  62.     when 1
  63.       @dummy_sprite.bitmap = Bitmap.new("Graphics/Pictures/skill")
  64.     when 2
  65.       @dummy_sprite.bitmap = Bitmap.new("Graphics/Pictures/equip")
  66.     when 3
  67.       @dummy_sprite.bitmap = Bitmap.new("Graphics/Pictures/status")
  68.     when 4
  69.       @dummy_sprite.bitmap = Bitmap.new("Graphics/Pictures/system")
  70.     end
  71.     # 执行过渡
  72.     Graphics.transition
  73.     # 主循环
  74.     loop do
  75.       # 刷新游戏画面
  76.       Graphics.update
  77.       # 刷新输入信息
  78.       Input.update
  79.       # 刷新画面
  80.       update
  81.       # 如果切换画面就中断循环
  82.       if $scene != self
  83.         break
  84.       end
  85.     end
  86.     # 准备过渡
  87.     Graphics.freeze
  88.     # 释放窗口
  89.     @command_window.dispose
  90.     @gold_window.dispose
  91.     @status_window.dispose
  92.     #@status_window.dispose
  93.     @dummy_window.dispose
  94.     @dummy_sprite.dispose
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # ● 刷新画面
  98.   #--------------------------------------------------------------------------
  99.   def update
  100.     # 刷新窗口
  101.     #----------------------------- 主菜单 -----------------------------------
  102.     @command_window.update
  103.     @gold_window.update
  104.       @status_window.visible = true# and @status_window.visible = false if !@status_window.visible
  105.       @status_window.update
  106.     if @command_window.index != @old_index
  107.       case @command_window.index
  108.       when 0
  109.         @dummy_sprite.bitmap = Bitmap.new("Graphics/Pictures/item")
  110.       when 1
  111.         @dummy_sprite.bitmap = Bitmap.new("Graphics/Pictures/skill")
  112.       when 2
  113.         @dummy_sprite.bitmap = Bitmap.new("Graphics/Pictures/equip")
  114.       when 3
  115.         @dummy_sprite.bitmap = Bitmap.new("Graphics/Pictures/status")
  116.       when 4
  117.         @dummy_sprite.bitmap = Bitmap.new("Graphics/Pictures/system")
  118.       end
  119.       @old_index = @command_window.index
  120.     end
  121.     # 命令窗口被激活的情况下: 调用 update_command
  122.     if @command_window.active
  123.       update_command
  124.       return
  125.     end
  126.     # 状态窗口被激活的情况下: 调用 update_status
  127.     if @status_window.active
  128.       if @item_update
  129.         update_item_target
  130.         return
  131.       elsif @skill_update
  132.         update_skill_target
  133.         return
  134.       elsif @equip_status_update
  135.         update_status1
  136.       else
  137.         update_status
  138.         return
  139.       end
  140.     end
  141.         
  142.     #----------------------------- 物品菜单 ---------------------------------
  143.     if @item_update
  144.       @item_help_window.update
  145.       @item_window.update
  146.       # 物品窗口被激活的情况下: 调用 update_item
  147.       if @item_window.active
  148.         update_item
  149.         return
  150.       end
  151.     #----------------------------- 奇术菜单 ---------------------------------
  152.     elsif @skill_update
  153.       # 刷新窗口
  154.       @skill_help_window.update
  155.       @skill_window.update
  156.       # 特技窗口被激活的情况下: 调用 update_skill
  157.       if @skill_window.active
  158.         update_skill
  159.         return
  160.       end
  161.     #----------------------------- 装备菜单 ---------------------------------
  162.     elsif @equip_update
  163.       @equip_right_window.update
  164.       @equip_item_window.update
  165.       # 设置物品窗口的可视状态
  166.       @equip_item_window1.visible = (@equip_right_window.index == 0)
  167.       @equip_item_window2.visible = (@equip_right_window.index == 1)
  168.       @equip_item_window3.visible = (@equip_right_window.index == 2)
  169.       @equip_item_window4.visible = (@equip_right_window.index == 3)
  170.       @equip_item_window5.visible = (@equip_right_window.index == 4)
  171.       @equip_item_window6.visible = (@equip_right_window.index == 5)
  172.       @equip_item_window7.visible = (@equip_right_window.index == 6)
  173.       @equip_item_window8.visible = (@equip_right_window.index == 7)
  174.       # 获取当前装备中的物品
  175.       item1 = @equip_right_window.item
  176.       # 设置当前的物品窗口到 @item_window
  177.       case @equip_right_window.index
  178.       when 0
  179.         @equip_item_window = @equip_item_window1
  180.       when 1
  181.         @equip_item_window = @equip_item_window2
  182.       when 2
  183.         @equip_item_window = @equip_item_window3
  184.       when 3
  185.         @equip_item_window = @equip_item_window4
  186.       when 4
  187.         @equip_item_window = @equip_item_window5
  188.       when 5
  189.         @equip_item_window = @equip_item_window6
  190.       when 6
  191.         @equip_item_window = @equip_item_window7
  192.       when 7
  193.         @equip_item_window = @equip_item_window8
  194.       end
  195.       # 右窗口被激活的情况下
  196.       if @equip_right_window.active
  197.         # 删除变更装备后的能力
  198. #        @status_window.set_new_parameters(nil, nil, nil, @status_window.index)
  199.       end
  200.       # 物品窗口被激活的情况下
  201.       if @equip_item_window.active
  202.         # 获取现在选中的物品
  203.         item2 = @equip_item_window.item
  204.         # 变更装备
  205.         last_hp = @actor.hp
  206.         last_sp = @actor.sp
  207.         @actor.equip(@equip_right_window.index, item2 == nil ? 0 : item2.id)
  208.         # 获取变更装备后的能力值
  209.         new_atk = @actor.atk
  210.         new_pdef = @actor.pdef
  211.         new_mdef = @actor.mdef
  212.         # 返回到装备
  213.         @actor.equip(@equip_right_window.index, item1 == nil ? 0 : item1.id)
  214.         @actor.hp = last_hp
  215.         @actor.sp = last_sp
  216.         # 描画左窗口
  217. #        @status_window.set_new_parameters(new_atk, new_pdef, new_mdef, @status_window.index)
  218.       end
  219.       # 右侧窗口被激活的情况下: 调用 update_right
  220.       if @equip_right_window.active
  221.         update_right
  222.         return
  223.       end
  224.       # 物品窗口被激活的情况下: 调用 update_item
  225.       if @equip_item_window.active
  226.         update_equip_item
  227.         return
  228.       end
  229.     #----------------------------- 状态菜单 ---------------------------------
  230.     elsif @status_update
  231.       update_status_status
  232.       return
  233.     #----------------------------- 系统菜单 ---------------------------------
  234.     elsif @sys_update
  235.       if @end_window != nil and !@end_window.disposed?
  236.         update_end
  237.       elsif @bgm_window != nil and !@bgm_window.disposed? and @currentbgm_window != nil and !@currentbgm_window.disposed?
  238.         update_bgm
  239.       elsif @sfx_window != nil and !@sfx_window.disposed? and @currentsfx_window != nil and !@currentsfx_window.disposed?
  240.         update_sfx
  241.       elsif !@system_window.disposed?
  242.         update_system
  243.       end
  244.       return
  245.     end
  246.   end
  247.   
  248.   def update_command
  249.     # 按下 B 键的情况下
  250.     if Input.trigger?(Input::B)
  251.       # 演奏取消 SE
  252.       $game_system.se_play($data_system.cancel_se)
  253.       # 切换的地图画面
  254.       $scene = Scene_Map.new
  255.       return
  256.     end
  257.     # 按下 C 键的情况下
  258.     if Input.trigger?(Input::C)
  259.       # 同伴人数为 0、存档、游戏结束以外的场合
  260.       if $game_party.actors.size == 0 and @command_window.index < 4
  261.         # 演奏冻结 SE
  262.         $game_system.se_play($data_system.buzzer_se)
  263.         return
  264.       end
  265.       # 命令窗口的光标位置分支
  266.       case @command_window.index
  267.       when 0  # 物品
  268.         # 演奏确定 SE
  269.         $game_system.se_play($data_system.decision_se)
  270.         
  271.         # 生成帮助窗口、物品窗口
  272.         @item_help_window = Window_Help_New.new
  273.         @item_help_window.x = 160
  274.         @item_help_window.y = 480 - 64
  275.         @item_window = Window_Item_New.new
  276.         # 关联帮助窗口
  277.         @item_window.help_window = @item_help_window
  278.         # 生成目标窗口 (设置为不可见・不活动)
  279.         
  280.         # 切换到物品画面
  281.         @item_update = true
  282.         @command_window.active = false
  283.       when 1  # 特技
  284.         # 演奏确定 SE
  285.         $game_system.se_play($data_system.decision_se)
  286.         # 激活状态窗口
  287.         @command_window.active = false
  288.         @status_window.active = true
  289.         @status_window.index = 0
  290.       when 2  # 装备
  291.         # 演奏确定 SE
  292.         $game_system.se_play($data_system.decision_se)
  293.         # 激活状态窗口
  294.         @command_window.active = false
  295.         @status_window.active = true
  296.         @status_window.index = 0
  297.         @equip_status_update = true
  298.       when 3  # 状态
  299.         # 演奏确定 SE
  300.         $game_system.se_play($data_system.decision_se)
  301.         # 激活状态窗口
  302.         @command_window.active = false
  303.         @status_window.active = true
  304.         @status_window.index = 0
  305.       when 4  # 存档
  306.         # 演奏确定 SE
  307.         $game_system.se_play($data_system.decision_se)
  308.         @system_window = Window_SysCommand.new
  309.         @command_window.active = false
  310.         @sys_update = true
  311.       end
  312.       return
  313.     end
  314.   end
  315.   
  316.   def update_status
  317.     # 按下 B 键的情况下
  318.     if Input.trigger?(Input::B)
  319.       # 演奏取消 SE
  320.       $game_system.se_play($data_system.cancel_se)
  321.       # 激活命令窗口
  322.       @command_window.active = true
  323.       @status_window.active = false
  324.       @status_window.index = -2
  325.       return
  326.     end
  327.     # 按下 C 键的情况下
  328.     if Input.trigger?(Input::C)
  329.       # 命令窗口的光标位置分支
  330.       case @command_window.index
  331.       when 1  # 特技
  332.         # 本角色的行动限制在 2 以上的情况下
  333.         if $game_party.actors[@status_window.index].restriction >= 2
  334.           # 演奏冻结 SE
  335.           $game_system.se_play($data_system.buzzer_se)
  336.           return
  337.         end
  338.         # 演奏确定 SE
  339.         $game_system.se_play($data_system.decision_se)
  340.         @window_index = @status_window.index
  341.         @actor = $game_party.actors[@status_window.index]
  342.         # 生成帮助窗口、状态窗口、特技窗口
  343.         @skill_help_window = Window_Help_New.new
  344.         @skill_window = Window_Skill_New.new(@actor)
  345.         # 关联帮助窗口
  346.         @skill_window.help_window = @skill_help_window
  347.         @skill_help_window.x = 160
  348.         @skill_help_window.y = 480 - 64
  349.         @status_window.active = false
  350.         @skill_update = true
  351.       when 3  # 状态
  352.         # 演奏确定 SE
  353.         $game_system.se_play($data_system.decision_se)
  354.         # 切换到状态画面
  355.         # 获取角色
  356.         @actor = $game_party.actors[@status_window.index]
  357.         # 生成状态窗口
  358.         @status_status_window = Window_Status_New.new(@actor)
  359.         @status_window.active = false
  360.         @status_update = true
  361.       end
  362.       return
  363.     end
  364.   end
  365.   #--------------------------------------------------------------------------
  366.   # ● 物品刷新
  367.   #--------------------------------------------------------------------------
  368.   def update_item
  369.     # 按下 B 键的情况下
  370.     if Input.trigger?(Input::B)
  371.       # 演奏取消 SE
  372.       $game_system.se_play($data_system.cancel_se)
  373.       # 切换到菜单画面
  374.       @item_help_window.dispose
  375.       @item_window.dispose
  376.       @item_update = false
  377.       @command_window.active = true
  378.       return
  379.     end
  380.     # 按下 C 键的情况下
  381.     if Input.trigger?(Input::C)
  382.       # 获取物品窗口当前选中的物品数据
  383.       @item = @item_window.item
  384.       # 不使用物品的情况下
  385.       unless @item.is_a?(RPG::Item)
  386.         # 演奏冻结 SE
  387.         $game_system.se_play($data_system.buzzer_se)
  388.         return
  389.       end
  390.       # 不能使用的情况下
  391.       unless $game_party.item_can_use?(@item.id)
  392.         # 演奏冻结 SE
  393.         $game_system.se_play($data_system.buzzer_se)
  394.         return
  395.       end
  396.       # 演奏确定 SE
  397.       $game_system.se_play($data_system.decision_se)
  398.       # 效果范围是我方的情况下
  399.       if @item.scope >= 3
  400.         # 激活目标窗口
  401.         @item_window.active = false
  402.         @status_window.active = true
  403.         # 设置效果范围 (单体/全体) 的对应光标位置
  404.         if @item.scope == 4 || @item.scope == 6
  405.           @status_window.index = -1
  406.         else
  407.           @status_window.index = 0
  408.         end
  409.       # 效果在我方以外的情况下
  410.       else
  411.         # 公共事件 ID 有效的情况下
  412.         if @item.common_event_id > 0
  413.           # 预约调用公共事件
  414.           $game_temp.common_event_id = @item.common_event_id
  415.           # 演奏物品使用时的 SE
  416.           $game_system.se_play(@item.menu_se)
  417.           # 消耗品的情况下
  418.           if @item.consumable
  419.             # 使用的物品数减 1
  420.             $game_party.lose_item(@item.id, 1)
  421.             # 再描绘物品窗口的项目
  422.             @item_window.draw_item(@item_window.index)
  423.           end
  424.           @item_help_window.dispose
  425.           @item_window.dispose
  426.           # 切换到地图画面
  427.           $scene = Scene_Map.new
  428.           return
  429.         end
  430.       end
  431.       return
  432.     end
  433.   end
  434.   def update_item_target
  435.     # 按下 B 键的情况下
  436.     if Input.trigger?(Input::B)
  437.       # 演奏取消 SE
  438.       $game_system.se_play($data_system.cancel_se)
  439.       # 由于物品用完而不能使用的场合
  440.       unless $game_party.item_can_use?(@item.id)
  441.         # 再次生成物品窗口的内容
  442.         @item_window.refresh
  443.       end
  444.       # 删除目标窗口
  445.       @item_window.active = true
  446.       @status_window.index = -2
  447.       @status_window.active = false
  448.       return
  449.     end
  450.     # 按下 C 键的情况下
  451.     if Input.trigger?(Input::C)
  452.       # 如果物品用完的情况下
  453.       if $game_party.item_number(@item.id) == 0
  454.         # 演奏冻结 SE
  455.         $game_system.se_play($data_system.buzzer_se)
  456.         return
  457.       end
  458.       # 目标是全体的情况下
  459.       if @status_window.index == -1
  460.         # 对同伴全体应用物品使用效果
  461.         used = false
  462.         for i in $game_party.actors
  463.           used |= i.item_effect(@item)
  464.         end
  465.       end
  466.       # 目标是单体的情况下
  467.       if @status_window.index >= 0
  468.         # 对目标角色应用物品的使用效果
  469.         target = $game_party.actors[@status_window.index]
  470.         used = target.item_effect(@item)
  471.       end
  472.       # 使用物品的情况下
  473.       if used
  474.         # 演奏物品使用时的 SE
  475.         $game_system.se_play(@item.menu_se)
  476.         # 消耗品的情况下
  477.         if @item.consumable
  478.           # 使用的物品数减 1
  479.           $game_party.lose_item(@item.id, 1)
  480.           # 再描绘物品窗口的项目
  481.           @item_window.draw_item(@item_window.index)
  482.         end
  483.         # 再生成目标窗口的内容
  484.         @status_window.refresh
  485.         # 全灭的情况下
  486.         if $game_party.all_dead?
  487.           # 切换到游戏结束画面
  488.           $scene = Scene_Gameover.new
  489.           return
  490.         end
  491.         # 公共事件 ID 有效的情况下
  492.         if @item.common_event_id > 0
  493.           # 预约调用公共事件
  494.           $game_temp.common_event_id = @item.common_event_id
  495.           @item_help_window.dispose
  496.           @item_window.dispose
  497.           # 切换到地图画面
  498.           $scene = Scene_Map.new
  499.           return
  500.         end
  501.       end
  502.       # 无法使用物品的情况下
  503.       unless used
  504.         # 演奏冻结 SE
  505.         $game_system.se_play($data_system.buzzer_se)
  506.       end
  507.       return
  508.     end
  509.   end
  510.   #--------------------------------------------------------------------------
  511.   # ● 技能刷新
  512.   #--------------------------------------------------------------------------
  513.   def update_skill
  514.     # 按下 B 键的情况下
  515.     if Input.trigger?(Input::B)
  516.       # 演奏取消 SE
  517.       $game_system.se_play($data_system.cancel_se)
  518.       # 切换到菜单画面
  519.       @skill_help_window.dispose
  520.       @skill_window.dispose
  521.       @skill_update = false
  522.       @status_window.active = true
  523.       @status_window.index = @window_index
  524.       return
  525.     end
  526.     # 按下 C 键的情况下
  527.     if Input.trigger?(Input::C)
  528.       # 获取特技窗口现在选择的特技的数据
  529.       @skill = @skill_window.skill
  530.       # 不能使用的情况下
  531.       if @skill == nil or not @actor.skill_can_use?(@skill.id)
  532.         # 演奏冻结 SE
  533.         $game_system.se_play($data_system.buzzer_se)
  534.         return
  535.       end
  536.       # 演奏确定 SE
  537.       $game_system.se_play($data_system.decision_se)
  538.       # 效果范围是我方的情况下
  539.       if @skill.scope >= 3
  540.         # 激活目标窗口
  541.         @skill_window.active = false
  542.         @status_window.active = true
  543.         # 设置效果范围 (单体/全体) 的对应光标位置
  544.         if @skill.scope == 4 || @skill.scope == 6
  545.           @status_window.index = -1
  546.         elsif @skill.scope == 7
  547.           @status_window.index = @actor_index - 10
  548.         else
  549.           @status_window.index = 0
  550.         end
  551.       # 效果在我方以外的情况下
  552.       else
  553.         # 公共事件 ID 有效的情况下
  554.         if @skill.common_event_id > 0
  555.           # 预约调用公共事件
  556.           $game_temp.common_event_id = @skill.common_event_id
  557.           # 演奏特技使用时的 SE
  558.           $game_system.se_play(@skill.menu_se)
  559.           # 消耗 SP
  560.           @actor.sp -= @skill.sp_cost
  561.           # 再生成各窗口的内容
  562.           @skill_window.refresh
  563.           @status_window.refresh
  564.           @skill_help_window.dispose
  565.           @skill_window.dispose
  566.           # 切换到地图画面
  567.           $scene = Scene_Map.new
  568.           return
  569.         end
  570.       end
  571.       return
  572.     end
  573.   end
  574.   def update_skill_target
  575.     # 按下 B 键的情况下
  576.     if Input.trigger?(Input::B)
  577.       # 演奏取消 SE
  578.       $game_system.se_play($data_system.cancel_se)
  579.       # 删除目标窗口
  580.       @skill_window.active = true
  581.       @status_window.index = -2
  582.       @status_window.active = false
  583.       return
  584.     end
  585.     # 按下 C 键的情况下
  586.     if Input.trigger?(Input::C)
  587.       # 因为 SP 不足而无法使用的情况下
  588.       unless @actor.skill_can_use?(@skill.id)
  589.         # 演奏冻结 SE
  590.         $game_system.se_play($data_system.buzzer_se)
  591.         return
  592.       end
  593.       # 目标是全体的情况下
  594.       if @status_window.index == -1
  595.         # 对同伴全体应用特技使用效果
  596.         used = false
  597.         for i in $game_party.actors
  598.           used |= i.skill_effect(@actor, @skill)
  599.         end
  600.       end
  601.       # 目标是使用者的情况下
  602.       if @status_window.index <= -2
  603.         # 对目标角色应用特技的使用效果
  604.         target = $game_party.actors[@status_window.index + 10]
  605.         used = target.skill_effect(@actor, @skill)
  606.       end
  607.       # 目标是单体的情况下
  608.       if @status_window.index >= 0
  609.         # 对目标角色应用特技的使用效果
  610.         target = $game_party.actors[@status_window.index]
  611.         used = target.skill_effect(@actor, @skill)
  612.       end
  613.       # 使用特技的情况下
  614.       if used
  615.         # 演奏特技使用时的 SE
  616.         $game_system.se_play(@skill.menu_se)
  617.         # 消耗 SP
  618.         @actor.sp -= @skill.sp_cost
  619.         # 再生成各窗口内容
  620.         @status_window.refresh
  621.         @skill_window.refresh
  622.         # 全灭的情况下
  623.         if $game_party.all_dead?
  624.           # 切换到游戏结束画面
  625.           $scene = Scene_Gameover.new
  626.           return
  627.         end
  628.         # 公共事件 ID 有效的情况下
  629.         if @skill.common_event_id > 0
  630.           # 预约调用公共事件
  631.           $game_temp.common_event_id = @skill.common_event_id
  632.           @skill_help_window.dispose
  633.           @skill_window.dispose
  634.           # 切换到地图画面
  635.           $scene = Scene_Map.new
  636.           return
  637.         end
  638.       end
  639.       # 无法使用特技的情况下
  640.       unless used
  641.         # 演奏冻结 SE
  642.         $game_system.se_play($data_system.buzzer_se)
  643.       end
  644.       return
  645.     end
  646.   end
  647.   #--------------------------------------------------------------------------
  648.   # ● 装备刷新
  649.   #--------------------------------------------------------------------------
  650.   def update_right
  651.     # 按下 B 键的情况下
  652.     if Input.trigger?(Input::B)
  653.       # 演奏取消 SE
  654.       $game_system.se_play($data_system.cancel_se)
  655.       # 切换到菜单画面
  656.       @equip_help_window.dispose
  657.       @equip_right_window.dispose
  658.       @equip_item_window1.dispose
  659.       @equip_item_window2.dispose
  660.       @equip_item_window3.dispose
  661.       @equip_item_window4.dispose
  662.       @equip_item_window5.dispose
  663.       @equip_item_window6.dispose
  664.       @equip_item_window7.dispose
  665.       @equip_item_window8.dispose
  666.       @equip_update = false
  667.       @status_window.active = true
  668.     end
  669.     # 按下 C 键的情况下
  670.     if Input.trigger?(Input::C)
  671.       # 固定装备的情况下
  672.       if @actor.equip_fix?(@equip_right_window.index)
  673.         # 演奏冻结 SE
  674.         $game_system.se_play($data_system.buzzer_se)
  675.         return
  676.       end
  677.       # 演奏确定 SE
  678.       $game_system.se_play($data_system.decision_se)
  679.       # 激活物品窗口
  680.       @equip_right_window.active = false
  681.       @equip_item_window.active = true
  682.       @equip_item_window.index = 0
  683.       return
  684.     end
  685.   end
  686.   def update_equip_item
  687.     # 按下 B 键的情况下
  688.     if Input.trigger?(Input::B)
  689.       # 演奏取消 SE
  690.       $game_system.se_play($data_system.cancel_se)
  691.       # 激活右侧窗口
  692.       @equip_right_window.active = true
  693.       @equip_item_window.active = false
  694.       @equip_item_window.index = -1
  695.       return
  696.     end
  697.     # 按下 C 键的情况下
  698.     if Input.trigger?(Input::C)
  699.       # 演奏装备 SE
  700.       $game_system.se_play($data_system.equip_se)
  701.       # 获取物品窗口现在选择的装备数据
  702.       item = @equip_item_window.item
  703.       # 变更装备
  704.       @actor.equip(@equip_right_window.index, item == nil ? 0 : item.id)
  705.       # 激活右侧窗口
  706.       @equip_right_window.active = true
  707.       @equip_item_window.active = false
  708.       @equip_item_window.index = -1
  709.       # 再生成右侧窗口、物品窗口的内容
  710.       @equip_right_window.refresh
  711.       if @equip_right_window.index == 6 or @equip_right_window.index == 7
  712.         @equip_item_window7.refresh
  713.         @equip_item_window8.refresh
  714.       else
  715.         @equip_item_window.refresh
  716.       end
  717.       return
  718.     end
  719.   end
  720.   def update_status1
  721.     # 按下 B 键的情况下
  722.     if Input.trigger?(Input::B)
  723.       # 演奏取消 SE
  724.       $game_system.se_play($data_system.cancel_se)
  725.       # 激活命令窗口
  726.       @command_window.active = true
  727.       @status_window.active = false
  728.       @equip_status_update = false
  729.       @status_window.index = -2
  730.       return
  731.     end
  732.     # 按下 C 键的情况下
  733.     if Input.trigger?(Input::C)
  734.       # 命令窗口的光标位置分支
  735.         # 演奏确定 SE
  736.         $game_system.se_play($data_system.decision_se)
  737.         @equip_index = 0
  738.         @actor = $game_party.actors[@status_window.index]
  739.         @equip_help_window = Window_Help_New.new
  740.         @equip_help_window.x = 160
  741.         @equip_help_window.y = 480 - 64
  742.         @equip_right_window = Window_EquipRight_New.new(@actor)
  743.         @equip_item_window1 = Window_EquipItem_New.new(@actor, 0)
  744.         @equip_item_window2 = Window_EquipItem_New.new(@actor, 1)
  745.         @equip_item_window3 = Window_EquipItem_New.new(@actor, 2)
  746.         @equip_item_window4 = Window_EquipItem_New.new(@actor, 3)
  747.         @equip_item_window5 = Window_EquipItem_New.new(@actor, 4)
  748.         @equip_item_window6 = Window_EquipItem_New.new(@actor, 5)
  749.         @equip_item_window7 = Window_EquipItem_New.new(@actor, 6)
  750.         @equip_item_window8 = Window_EquipItem_New.new(@actor, 6)
  751.         # 关联帮助窗口
  752.         @equip_right_window.help_window = @equip_help_window
  753.         @equip_item_window1.help_window = @equip_help_window
  754.         @equip_item_window2.help_window = @equip_help_window
  755.         @equip_item_window3.help_window = @equip_help_window
  756.         @equip_item_window4.help_window = @equip_help_window
  757.         @equip_item_window5.help_window = @equip_help_window
  758.         @equip_item_window6.help_window = @equip_help_window
  759.         @equip_item_window7.help_window = @equip_help_window
  760.         @equip_item_window8.help_window = @equip_help_window
  761.         # 设置光标位置
  762.         @equip_right_window.index = @equip_index
  763.         @status_window.active = false
  764.         #@equip_status_update = false
  765.         @equip_update = true
  766.         # 设置物品窗口的可视状态
  767.         @equip_item_window1.visible = (@equip_right_window.index == 0)
  768.         @equip_item_window2.visible = (@equip_right_window.index == 1)
  769.         @equip_item_window3.visible = (@equip_right_window.index == 2)
  770.         @equip_item_window4.visible = (@equip_right_window.index == 3)
  771.         @equip_item_window5.visible = (@equip_right_window.index == 4)
  772.         @equip_item_window6.visible = (@equip_right_window.index == 5)
  773.         @equip_item_window7.visible = (@equip_right_window.index == 6)
  774.         @equip_item_window8.visible = (@equip_right_window.index == 7)
  775.         # 获取当前装备中的物品
  776.         item1 = @equip_right_window.item
  777.         # 设置当前的物品窗口到 @item_window
  778.         case @equip_right_window.index
  779.         when 0
  780.           @equip_item_window = @equip_item_window1
  781.         when 1
  782.           @equip_item_window = @equip_item_window2
  783.         when 2
  784.           @equip_item_window = @equip_item_window3
  785.         when 3
  786.           @equip_item_window = @equip_item_window4
  787.         when 4
  788.           @equip_item_window = @equip_item_window5
  789.         when 5
  790.           @equip_item_window = @equip_item_window6
  791.         when 6
  792.           @equip_item_window = @equip_item_window7
  793.         when 7
  794.           @equip_item_window = @equip_item_window8
  795.         end
  796.         # 右窗口被激活的情况下
  797.         if @equip_right_window.active
  798.           # 删除变更装备后的能力
  799. #          @status_window.set_new_parameters(nil, nil, nil)
  800.         end
  801.         # 物品窗口被激活的情况下
  802.         if @equip_item_window.active
  803.           # 获取现在选中的物品
  804.           item2 = @equip_item_window.item
  805.           # 变更装备
  806.           last_hp = @actor.hp
  807.           last_sp = @actor.sp
  808.           @actor.equip(@equip_right_window.index, item2 == nil ? 0 : item2.id)
  809.           # 获取变更装备后的能力值
  810.           new_atk = @actor.atk
  811.           new_pdef = @actor.pdef
  812.           new_mdef = @actor.mdef
  813.           # 返回到装备
  814.           @actor.equip(@equip_right_window.index, item1 == nil ? 0 : item1.id)
  815.           @actor.hp = last_hp
  816.           @actor.sp = last_sp
  817.           # 描画左窗口
  818.           #@status_window.set_new_parameters(new_atk, new_pdef, new_mdef)
  819.         end
  820.     end
  821.   end
  822.   #--------------------------------------------------------------------------
  823.   # ● 状态刷新
  824.   #--------------------------------------------------------------------------
  825.   def update_status_status
  826.     # 按下 B 键的情况下
  827.     if Input.trigger?(Input::B)
  828.       # 演奏取消 SE
  829.       $game_system.se_play($data_system.cancel_se)
  830.       # 切换到菜单画面
  831.       @status_status_window.dispose
  832.       @status_update = false
  833.       @status_window.active = true
  834.       return
  835.     end
  836.   end
  837.   
  838.   def update_system
  839.     @system_window.update
  840.     # 按下 B 键的情况下
  841.     if Input.trigger?(Input::B)
  842.       # 演奏取消 SE
  843.       $game_system.se_play($data_system.cancel_se)
  844.       # 切换到菜单画面
  845.       @system_window.dispose
  846.       @sys_update = false
  847.       @command_window.active = true
  848.       return
  849.     end
  850.     # 按下 C 键的情况下
  851.     if Input.trigger?(Input::C)
  852.       # 演奏确定 SE
  853.       $game_system.se_play($data_system.decision_se)
  854.       case @system_window.index
  855.       when 0
  856.         @bgm_window = Window_BGM_Volume.new(80, ["0%", "17%", "34%", "50%", "67%", "84%", "100%"])
  857.         @currentbgm_window = Window_CurrentBGM_Volume.new
  858.         @system_window.active = false
  859.       when 1
  860.         @sfx_window = Window_SFX_Volume.new(80, ["0%", "17%", "34%", "50%", "67%", "84%", "100%"])
  861.         @currentsfx_window = Window_CurrentSFX_Volume.new
  862.         @system_window.active = false
  863.       when 2
  864.         @system_window.dispose
  865.         $scene = Scene_Save.new
  866.       when 3
  867.         @system_window.dispose
  868.         $scene = Scene_Load.new(true)
  869.       when 4
  870.         @end_window = Window_EndCommand.new
  871.         @system_window.active = false
  872.       end
  873.       return
  874.     end
  875.   end
  876.   
  877.   def update_bgm
  878.     @bgm_window.update
  879.     if Input.trigger?(Input::B)
  880.       $game_system.se_play($data_system.cancel_se)
  881.       @system_window.active = true
  882.       @bgm_window.dispose
  883.       @currentbgm_window.dispose
  884.       return
  885.     end
  886.     if Input.trigger?(Input::C)
  887.       case @bgm_window.index
  888.       when 0
  889.         $game_system.bgm_volume = 0
  890.         $game_system.bgm_play($game_system.bgm_memorize)
  891.         @currentbgm_window.refresh
  892.       when 1
  893.         $game_system.bgm_volume = 17
  894.         $game_system.bgm_play($game_system.bgm_memorize)
  895.         @currentbgm_window.refresh
  896.       when 2
  897.         $game_system.bgm_volume = 34
  898.         $game_system.bgm_play($game_system.bgm_memorize)
  899.         @currentbgm_window.refresh
  900.       when 3
  901.         $game_system.bgm_volume = 50
  902.         $game_system.bgm_play($game_system.bgm_memorize)
  903.         @currentbgm_window.refresh
  904.       when 4
  905.         $game_system.bgm_volume = 67
  906.         $game_system.bgm_play($game_system.bgm_memorize)
  907.         @currentbgm_window.refresh
  908.       when 5
  909.         $game_system.bgm_volume = 84
  910.         $game_system.bgm_play($game_system.bgm_memorize)
  911.         @currentbgm_window.refresh
  912.       when 6
  913.         $game_system.bgm_volume = 100
  914.         $game_system.bgm_play($game_system.bgm_memorize)
  915.         @currentbgm_window.refresh
  916.       end
  917.       return
  918.     end
  919.   end
  920.   
  921.   def update_sfx
  922.     @sfx_window.update
  923.     if Input.trigger?(Input::B)
  924.       $game_system.se_play($data_system.cancel_se)
  925.       @sfx_window.dispose
  926.       @currentsfx_window.dispose
  927.       @system_window.active = true
  928.       return
  929.     end
  930.     if Input.trigger?(Input::C)
  931.       case @sfx_window.index
  932.       when 0
  933.         $game_system.se_volume = 0
  934.         $game_system.se_play($data_system.decision_se)
  935.         @currentsfx_window.refresh
  936.       when 1
  937.         $game_system.se_volume = 17
  938.         $game_system.se_play($data_system.decision_se)
  939.         @currentsfx_window.refresh
  940.       when 2
  941.         $game_system.se_volume = 34
  942.         $game_system.se_play($data_system.decision_se)
  943.         @currentsfx_window.refresh
  944.       when 3
  945.         $game_system.se_volume = 50
  946.         $game_system.se_play($data_system.decision_se)
  947.         @currentsfx_window.refresh
  948.       when 4
  949.         $game_system.se_volume = 67
  950.         $game_system.se_play($data_system.decision_se)
  951.         @currentsfx_window.refresh
  952.       when 5
  953.         $game_system.se_volume = 84
  954.         $game_system.se_play($data_system.decision_se)
  955.         @currentsfx_window.refresh
  956.       when 6
  957.         $game_system.se_volume = 100
  958.         $game_system.se_play($data_system.decision_se)
  959.         @currentsfx_window.refresh
  960.       end
  961.       $game_map.autoplay
  962.       return
  963.     end
  964.   end
  965.   
  966.   def update_end
  967.     @end_window.update
  968.     if Input.trigger?(Input::B)
  969.       $game_system.se_play($data_system.cancel_se)
  970.       @end_window.dispose
  971.       @system_window.active = true
  972.       return
  973.     end
  974.     if Input.trigger?(Input::C)
  975.       case @end_window.index
  976.       when 0
  977.         @end_window.dispose
  978.         @system_window.dispose
  979.         command_to_title
  980.       when 1
  981.         command_shutdown
  982.       end
  983.       return
  984.     end
  985.   end

  986.   def command_to_title
  987.     $game_system.se_play($data_system.decision_se)
  988.     Audio.bgm_fade(800)
  989.     Audio.bgs_fade(800)
  990.     Audio.me_fade(800)
  991.     $scene = Scene_Title.new
  992.   end

  993.   def command_shutdown
  994.     $game_system.se_play($data_system.decision_se)
  995.     Audio.bgm_fade(800)
  996.     Audio.bgs_fade(800)
  997.     Audio.me_fade(800)
  998.     $scene = nil
  999.   end
  1000. end
复制代码
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: bbhh    时间: 2008-3-31 16:38
冰王子,你给我改的是状态栏里的,我想改的是菜单左边那儿,这两天出差,没及时回复,表示歉意。。。。希望你能再给我改改啊
作者: 凌冰    时间: 2008-3-31 21:00
菜单左边那儿?
菜单左边不就是显示血条、头像的吗?我改的没错啊?{/fd}
作者: bbhh    时间: 2008-3-31 22:53
已经行了,但有两个缺点,一是装备时看不出能力增减了,还有如果是四个角色时,左边就放不下去,头像和金钱重叠了。。。。遗憾中。。。。。但不管怎样,冰王子辛苦了,非常感谢,先把贴子结了。。如冰王子有空,再帮我完善完善。感激不尽。{/qiang}{/qiang}

作者: 银翼杀手    时间: 2008-3-31 23:35
学习学习~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1