Project1

标题: *更新了*系统菜单重新排版——大家帮忙看看 [打印本页]

作者: 瑟瑟    时间: 2008-4-13 10:39
标题: *更新了*系统菜单重新排版——大家帮忙看看
谢谢~~snstar2006 已经把图标调回来了~~

总算弄了样子出来~~请大家帮忙看看~~有没有BUG~~
功能~~~默认的~{/gg}~反正当排版用~~ {/tp}哈哈~~反正要什么功能,就自己加什么~{/tp}

~~~冲突~应该没有吧~~我是修改了排版~~其他都没动~~
脚本在下面,粘贴过去就行~~




  1. #==============================================================================
  2. # ■ Window_MenuStatus
  3. #------------------------------------------------------------------------------
  4. #  显示菜单画面和同伴状态的窗口。
  5. #==============================================================================

  6. class Window_MenuStatus < Window_Selectable
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化对象
  9.   #     x : 窗口的 X 坐标
  10.   #     y : 窗口的 Y 坐标
  11.   #--------------------------------------------------------------------------
  12.   def initialize(x, y)
  13.     super(x,80, 544, 280)
  14.     refresh
  15.     self.active = false
  16.     self.index = -1
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 刷新
  20.   #--------------------------------------------------------------------------
  21.   def refresh
  22.     self.contents.clear
  23.     @item_max = $game_party.members.size
  24.     @column_max = 4
  25.     for actor in $game_party.members
  26.       
  27.       draw_actor_face(actor,actor.index * 130+10,6, 92)
  28.       x = actor.index * 130+2
  29.       y = 0
  30.       draw_actor_name(actor, x, y + WLH * 4)
  31.       draw_actor_class(actor, x , y + WLH * 5)
  32.       draw_actor_level(actor, x, y + WLH * 7)
  33.       draw_actor_state(actor, x, y + WLH * 6)
  34.       draw_actor_hp(actor, x , y + WLH * 8)
  35.       draw_actor_mp(actor, x , y + WLH * 9)
  36.   end
  37. end
  38.   #--------------------------------------------------------------------------
  39.   # ● 更新光标
  40.   #--------------------------------------------------------------------------
  41.   def update_cursor
  42.     if @index < 0               # 没有光标
  43.       self.cursor_rect.empty
  44.     elsif @index < @item_max    # 普通
  45.       self.cursor_rect.set(@index * 130,0,130,250)#contents.width
  46.     elsif @index >= 100         # 自己
  47.       self.cursor_rect.set((@index - 100) * 130,0,130, 250)
  48.     else                        # 全体
  49.       self.cursor_rect.set(0, 0,250, @item_max * 130)
  50.     end
  51.   end
  52. end




  53. #==============================================================================
  54. # ■ Window_Gold
  55. #------------------------------------------------------------------------------
  56. #  显示金钱的窗口。
  57. #==============================================================================

  58. class Window_Gold < Window_Base
  59.   #--------------------------------------------------------------------------
  60.   # ● 初始化对象
  61.   #     x : 窗口的 X 坐标
  62.   #     y : 窗口的 Y 坐标
  63.   #--------------------------------------------------------------------------
  64.   def initialize(x, y)
  65.     super(x, y, 544, WLH + 32)
  66.     refresh
  67.   end
  68.   #--------------------------------------------------------------------------
  69.   # ● 刷新
  70.   #--------------------------------------------------------------------------
  71.   def refresh
  72.     self.contents.clear
  73.     draw_currency_value($game_party.gold, 4, 0, 490)
  74.   end
  75. end







  76. #==============================================================================
  77. # ■ Scene_Menu
  78. #------------------------------------------------------------------------------
  79. #  处理菜单画面的类。
  80. #==============================================================================

  81. class Scene_Menu < Scene_Base
  82.   #--------------------------------------------------------------------------
  83.   # ● 初始化对象
  84.   #     menu_index : 指令光标初期位置
  85.   #--------------------------------------------------------------------------
  86.   def initialize(menu_index = 0)
  87.     @menu_index = menu_index
  88.   end
  89.   #--------------------------------------------------------------------------
  90.   # ● 开始处理
  91.   #--------------------------------------------------------------------------
  92.   def start
  93.     super
  94.     create_menu_background
  95.     create_command_window
  96.     @gold_window = Window_Gold.new(0, 360)
  97.     #@gold_window .width = 544
  98.     @status_window = Window_MenuStatus.new(0, 0)

  99.   end
  100.   #--------------------------------------------------------------------------
  101.   # ● 结束处理
  102.   #--------------------------------------------------------------------------
  103.   def terminate
  104.     super
  105.     dispose_menu_background
  106.     @command_window.dispose
  107.     @gold_window.dispose
  108.     @status_window.dispose
  109.   end
  110.   #--------------------------------------------------------------------------
  111.   # ● 更新画面
  112.   #--------------------------------------------------------------------------
  113.   def update
  114.     super
  115.     update_menu_background
  116.     @command_window.update
  117.     @gold_window.update
  118.     @status_window.update

  119.     if @command_window.active
  120.       update_command_selection
  121.     elsif @status_window.active
  122.       update_actor_selection
  123.     end
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● 生成指令窗口
  127.   #--------------------------------------------------------------------------
  128.   def create_command_window
  129.     s1 = Vocab::item
  130.     s2 = Vocab::skill
  131.     s3 = Vocab::equip
  132.     s4 = Vocab::status
  133.     s5 = Vocab::save
  134.     s6 = Vocab::game_end
  135.     @command_window = Window_Command.new(544, [s1, s2, s3, s4, s5, s6],3)
  136.     @command_window.index = @menu_index
  137.     if $game_party.members.size == 0          # 同伴人数为 0 的情况下
  138.       @command_window.draw_item(0, false)     # 物品无效化
  139.       @command_window.draw_item(1, false)     # 特技无效化
  140.       @command_window.draw_item(2, false)     # 装备无效化
  141.       @command_window.draw_item(3, false)     # 状态无效化
  142.     end
  143.     if $game_system.save_disabled             # 禁止存档的情况下
  144.       @command_window.draw_item(4, false)     # 存档无效化
  145.     end
  146.   end
  147.   #--------------------------------------------------------------------------
  148.   # ● 更新指令选择
  149.   #--------------------------------------------------------------------------
  150.   def update_command_selection
  151.     if Input.trigger?(Input::B)
  152.       Sound.play_cancel
  153.       $scene = Scene_Map.new
  154.     elsif Input.trigger?(Input::C)
  155.       if $game_party.members.size == 0 and @command_window.index < 4
  156.         Sound.play_buzzer
  157.         return
  158.       elsif $game_system.save_disabled and @command_window.index == 4
  159.         Sound.play_buzzer
  160.         return
  161.       end
  162.       Sound.play_decision
  163.       case @command_window.index
  164.       when 0      # 物品
  165.         $scene = Scene_Item.new
  166.       when 1,2,3  # 特技、装备、状态
  167.         start_actor_selection
  168.       when 4      # 存档
  169.         $scene = Scene_File.new(true, false, false)
  170.       when 5      # 游戏结束
  171.         $scene = Scene_End.new
  172.       end
  173.     end
  174.   end
  175.   #--------------------------------------------------------------------------
  176.   # ● アクター選択の開始
  177.   #--------------------------------------------------------------------------
  178.   def start_actor_selection
  179.     @command_window.active = false
  180.     @status_window.active = true
  181.     if $game_party.last_actor_index < @status_window.item_max
  182.       @status_window.index = $game_party.last_actor_index
  183.     else
  184.       @status_window.index = 0
  185.     end
  186.   end
  187.   #--------------------------------------------------------------------------
  188.   # ● アクター選択の終了
  189.   #--------------------------------------------------------------------------
  190.   def end_actor_selection
  191.     @command_window.active = true
  192.     @status_window.active = false
  193.     @status_window.index = -1
  194.   end
  195.   #--------------------------------------------------------------------------
  196.   # ● アクター選択の更新
  197.   #--------------------------------------------------------------------------
  198.   def update_actor_selection
  199.     if Input.trigger?(Input::B)
  200.       Sound.play_cancel
  201.       end_actor_selection
  202.     elsif Input.trigger?(Input::C)
  203.       $game_party.last_actor_index = @status_window.index
  204.       Sound.play_decision
  205.       case @command_window.index
  206.       when 1  # スキル
  207.         $scene = Scene_Skill.new(@status_window.index)
  208.       when 2  # 装備
  209.         $scene = Scene_Equip.new(@status_window.index)
  210.       when 3  # ステータス
  211.         $scene = Scene_Status.new(@status_window.index)
  212.       end
  213.     end
  214.   end
  215. end

复制代码

作者: 雪流星    时间: 2008-4-13 11:22
很多问题{/kuk}
1. 状态图标X座标
  你试着把全部角色都附上4个状态看看
2. 窗口宽度
  命令窗口和金钱窗口过宽,变得很赧看
  尤其是金钱窗口,金钱最大值只有8个九,这麽长根本是浪费空间
作者: project999    时间: 2008-4-13 16:37
我觉得挺好的,特别是原来菜单中左边空的那一大块没了……
作者: 瑟瑟    时间: 2008-4-13 17:31
以下引用snstar2006于2008-4-13 3:22:06的发言:

很多问题
1. 状态图标X座标
你试着把全部角色都附上4个状态看看
2. 窗口宽度
命令窗口和金钱窗口过宽,变得很赧看
尤其是金钱窗口,金钱最大值只有8个九,这麽长根本是浪费空间

谢谢~~谢谢~~谢谢~~  {/hx}
窗口宽度 {/qiang} 哈哈~~我也是矛盾了很久啊
~~不过我实在不喜欢留白~~~之前曾想过把“升级加点”“任务”"地图名"等给弄进去
这样空间就会相当好点~~但是想想,这样也许不利别人修改使用~~所以啊~~选择不留白的



以下引用project999于2008-4-13 8:37:31的发言:

我觉得挺好的,特别是原来菜单中左边空的那一大块没了……

谢谢 {/hx} 发现BUG请及时告诉我~~
作者: 小柯    时间: 2008-4-13 20:35
看上去比原来更好看了……
作者: littleslime    时间: 2008-4-13 20:35
不错,用了,正常
作者: 雪流星    时间: 2008-4-13 21:14
空格之处可以用像游戏时间之类的窗口补充
作者: 禾西    时间: 2008-4-13 22:41
很可愛的腳本^^
但是金錢部分的數字被擋住了少許-v-
作者: 水鸡三毛老大    时间: 2008-4-14 00:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: 瑟瑟    时间: 2008-4-14 04:58
以下引用禾西于2008-4-13 14:41:49的发言:
很可愛的腳本^^
但是金錢部分的數字被擋住了少許-v-


谢谢~~{/wx}數字被擋住?? 我做测试了~~把金钱加到最大 7位数 9999999 也没发现數字被擋住啊 {/gg} 可否截个图看看~~我马上修改~~谢谢~

TO littleslime 用了啊~~谢谢咯~~ {/wx}
TO 小柯  谢谢~~{/hx}
TO snstar2006 谢谢~~我也想过来个RMXP版的系统菜单~~哈哈~~
TO 鸿剑  谢谢~~{/hx}

以下引用水鸡三毛老大于2008-4-13 16:04:37的发言:

我的菜单选项较多 ...
可能还要改..
先拿走

哈哈~~~加油啊~~{/qiang}
作者: 风雪优游    时间: 2008-4-14 05:02
很奇怪的感觉
作者: 貓╆児    时间: 2008-4-17 21:45
提示: 作者被禁止或删除 内容自动屏蔽




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