赞 | 287 |
VIP | 11 |
好人卡 | 74 |
积分 | 226 |
经验 | 281171 |
最后登录 | 2024-11-12 |
在线时间 | 9412 小时 |
Lv5.捕梦者 (暗夜天使) 只有笨蛋才会看到
- 梦石
- 1
- 星屑
- 21609
- 在线时间
- 9412 小时
- 注册时间
- 2012-6-19
- 帖子
- 7117
|
本帖最后由 喵呜喵5 于 2014-8-22 15:02 编辑
以下内容未测试:
如果希望图标分成好多排的话,可以参考Window_Base中绘制图表的方法在Window_Status中添加这样的方法:- def draw_actor_icons(actor, x, y, width = 96)
- icons = (actor.state_icons + actor.buff_icons)[0, width / 24]
- icons.each_with_index {|n, i| draw_icon(n, x + 24 * i, y) }
- end
复制代码 由于一个图标的宽度是24,所以width / 24可以计算在给定的宽度中一排能够描绘多少个图标,依照这种写法,要描绘三排的图标就是……- def draw_actor_icons(actor, x, y, width = 96)
- icons = (actor.state_icons + actor.buff_icons)[width*0 / 24, width / 24]
- icons.each_with_index {|n, i| draw_icon(n, x + 24 * i, y + 24*0) }
- icons = (actor.state_icons + actor.buff_icons)[width*1 / 24, width / 24]
- return unless icons
- icons.each_with_index {|n, i| draw_icon(n, x + 24 * i, y + 24*1) }
- icons = (actor.state_icons + actor.buff_icons)[width*2 / 24, width / 24]
- return unless icons
- icons.each_with_index {|n, i| draw_icon(n, x + 24 * i, y + 24*2) }
- end
复制代码 简化的写法就变成这样- def draw_actor_icons(actor, x, y, width = 96, col = 1)
- col.times do |line|
- icons = (actor.state_icons + actor.buff_icons)[width * line / 24, width / 24]
- return unless icons
- icons.each_with_index {|n, i| draw_icon(n, x + 24 * i, y + 24 * line) }
- end
- end
复制代码 之后调用draw_actor_icons方法时最后一个参数设定成总行数就好了 |
评分
-
查看全部评分
|