赞 | 0 |
VIP | 1 |
好人卡 | 12 |
积分 | 1 |
经验 | 5413 |
最后登录 | 2022-9-19 |
在线时间 | 187 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 70
- 在线时间
- 187 小时
- 注册时间
- 2006-9-3
- 帖子
- 175
|
4楼
楼主 |
发表于 2012-4-14 22:10:38
|
只看该作者
本帖最后由 he11120 于 2012-4-14 22:10 编辑
- #==============================================================================
- # 本脚本来自www.66RPG.com,使用和转载请保留此信息
- #==============================================================================
- #==============================================================================
- # 选项动态加强
- # 作者:carol3
- #==============================================================================
- # ■ Window_Command
- #------------------------------------------------------------------------------
- # 一般的命令选择行窗口。
- #==============================================================================
- class Window_Command < Window_Selectable
- #--------------------------------------------------------------------------
- # ● 初始化对像
- # width : 窗口的宽
- # commands : 命令字符串序列
- #--------------------------------------------------------------------------
- def initialize(width, commands)
- # 由命令的个数计算出窗口的高
- super(0, 0, width, commands.size * 32 + 32)
- @item_max = commands.size
- @commands = commands
- self.contents = Bitmap.new(width - 32, @item_max * 32)
- @item = []
- self.index = 0
- refresh
- @oldindex = 0
- end
- #--------------------------------------------------------------------------
- # ● 刷新
- #--------------------------------------------------------------------------
- def refresh
- self.contents.clear
- for i in 0...@item_max
- if i != self.index
- draw_item_dis(i)
- else
- draw_item_active(i,@item[i])
- end
- end
- end
- #--------------------------------------------------------------------------
- # ● 描绘项目
- # index : 项目编号
- # color : 文字色
- #--------------------------------------------------------------------------
- def draw_item_dis(index)
- self.contents.font.size -= 2
- self.contents.font.color = disabled_color
- rect = Rect.new(4+5, 32 * index, self.contents.width - 24, 32)
- self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
- self.contents.draw_text(rect, @commands[index])
- self.contents.font.size += 2
- end
- def draw_item_active(index, type)
- self.contents.font.color = Color.new(0,0,0,255)
- self.contents.draw_text(5,32*index+1,self.contents.width,32, @commands[index])
- if type==1
- self.contents.font.color = disabled_color
- else
- self.contents.font.color = Color.new(255,255,0,255)
- end
- self.contents.draw_text(4,32*index,self.contents.width,32, @commands[index])
- end
- #--------------------------------------------------------------------------
- # ● 项目无效化
- # index : 项目编号
- #--------------------------------------------------------------------------
- def disable_item(index)
- @item[index] = 1
- end
- #--------------------------------------------------------------------------
- # ● 刷新方法更新
- #--------------------------------------------------------------------------
- def update
- super
- #——这里使用的刷新方法比直接refresh节约很多内存
- if self.index != @oldindex
- @oldindex = self.index
- refresh
- end
- end
- end
- #==============================================================================
- # 本脚本来自www.66RPG.com,使用和转载请保留此信息
- #==============================================================================
复制代码 我用了这个动态菜单选项的,选项灰度有点问题。(如果一个角色有盾牌,另一个没有,第二轮(同一场战斗)有盾牌的“防御”选项也变成灰的.(但还可以用) |
|