赞 | 0 |
VIP | 5 |
好人卡 | 14 |
积分 | 15 |
经验 | 110639 |
最后登录 | 2015-10-15 |
在线时间 | 1157 小时 |
Lv3.寻梦者 小柯的徒弟
- 梦石
- 0
- 星屑
- 1535
- 在线时间
- 1157 小时
- 注册时间
- 2008-5-24
- 帖子
- 3085
|
需要改class Window_66RPG_Command_Row这个类,以下是参考(可用)。- class Window_66RPG_Command_Row < Window_Selectable
- #--------------------------------------------------------------------------
- # ● 初始化对像
- # commands : 命令图标
- #--------------------------------------------------------------------------
- def initialize(commands)
- @disable_array = []
- @old_index = 0
- # 由命令的个数计算出窗口的高
- super(0, 0, 112,commands.size * 40 + 128)
- @commands = commands
- @item_max = commands.size
- @column_max = 1
- self.contents = Bitmap.new(width - 32, height - 32)
- self.index = 0
- self.opacity = 0
- refresh
- end
-
- #--------------------------------------------------------------------------
- # ● 刷新光标矩形
- #--------------------------------------------------------------------------
- def update_cursor_rect
- self.cursor_rect.empty
- end
-
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- self.contents.clear
- @now_y = 0
- for i in 0...@item_max
- draw_item(i)
- end
- end
-
- #--------------------------------------------------------------------------
- # ● 描绘项目
- # ind : 项目编号
- #--------------------------------------------------------------------------
- def draw_item(ind)
- if ind == @index
- self.contents.blt(0, @now_y, RPG::Cache.icon(@commands[ind]), Rect.new(0,0,64,96))
- @now_y += 68
- else
- self.contents.blt(32, @now_y, RPG::Cache.icon(@commands[ind]+"_small"), Rect.new(0,0,32,32), 128)
- @now_y += 36
- end
- end
-
- #--------------------------------------------------------------------------
- # ● 刷新光标矩形
- #--------------------------------------------------------------------------
- def update
- # 可以移动光标的情况下
- if self.active and @item_max > 0 and @index >= 0
- # 方向键右被按下的情况下
- if Input.repeat?(Input::DOWN)
- # 列数为 2 以上并且、光标位置在(项目数 - 1)之前的情况下
- if @index < @item_max - 1 #@column_max >= 2 and
- # 光标向右移动
- $game_system.se_play($data_system.cursor_se)
- @index += 1
- end
- end
- # 方向键左被按下的情况下
- if Input.repeat?(Input::UP)
- # 列数为 2 以上并且、光标位置在 0 之后的情况下
- if @index > 0 #@column_max >= 2 and
- # 光标向左移动
- $game_system.se_play($data_system.cursor_se)
- @index -= 1
- end
- end
- end
- if @index != @old_index
- @old_index = @index
- refresh
- end
- end
- end
复制代码 |
|