赞 | 1 |
VIP | 255 |
好人卡 | 52 |
积分 | 1 |
经验 | 77416 |
最后登录 | 2016-1-18 |
在线时间 | 1269 小时 |
Lv1.梦旅人 薄凉看客
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 1269 小时
- 注册时间
- 2010-6-20
- 帖子
- 1316
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 恋′挂机 于 2013-10-18 22:06 编辑
源自:http://rpg.blue/thread-336098-1-1.html
看似很复杂,其实很简单。
脚本参考,当然要自行做一些整合
选择窗口- # --------------------
- # 重要!!!!!!!!
- # --------------------
- attr_accessor :skill_case
- attr_accessor :shuzhi_hash
复制代码 初始化- # --------------------
- # 重要!!!!!!!!
- # --------------------
-
- # 判断选择状态用的哈希表
- @skill_case = {}
-
- # 树枝的哈希表
- @shuzhi_hash = {}
复制代码 添加- # ------------------
- # 描绘图标与树枝
- # ------------------
-
- # 循环准备
- xunhuan_time = 0
-
- jineng_time = 0
-
- # 简化
- #@shuzhi_array.size - 1
- #@shuzhi_array[jianqu1].split(/◎/)[0].to_i
-
- jianqu1 = @shuzhi_array.size - 1
- jxmh = @shuzhi_array[jianqu1].split(/◎/)[0].to_i
-
- # 矩形
- rect = Rect.new(0, 0, 24, 24)
-
- # 循环
- for i in @shuzhi_array
- # 坐标
- x = (xunhuan_time % jxmh) * 32 + 4
- y = (xunhuan_time / jxmh) * 32 + 4
- # 不等与"☆"描绘
- if i != "☆"
- case i
- # 技能图标
- when "★"
- # 图标透明度
- unless @actor.skills.include?(@skill[jineng_time].id)
- opacity_icon = 160
- else
- opacity_icon = 255
- end
- self.contents.blt(x, y, @icon[jineng_time], rect, opacity_icon)
- # 以XY坐标为主键技能为值
- @skill_case[x.to_s+"◎"+y.to_s] = @skill[jineng_time]
- jineng_time += 1
- # 树枝
- when "→"
- self.contents.blt(x, y, @shuzhi_picture[0], rect)
- # 以XY坐标为主键方向字符为值
- @shuzhi_hash[x.to_s+"◎"+y.to_s] = "→"
- when "←"
- self.contents.blt(x, y, @shuzhi_picture[1], rect)
- # 以XY坐标为主键方向字符为值
- @shuzhi_hash[x.to_s+"◎"+y.to_s] = "←"
- when "↑"
- self.contents.blt(x, y, @shuzhi_picture[2], rect)
- # 以XY坐标为主键方向字符为值
- @shuzhi_hash[x.to_s+"◎"+y.to_s] = "↑"
- when "↓"
- self.contents.blt(x, y, @shuzhi_picture[3], rect)
- # 以XY坐标为主键方向字符为值
- @shuzhi_hash[x.to_s+"◎"+y.to_s] = "↓"
- when "↖"
- self.contents.blt(x, y, @shuzhi_picture[4], rect)
- # 以XY坐标为主键方向字符为值
- @shuzhi_hash[x.to_s+"◎"+y.to_s] = "↖"
- when "↗"
- self.contents.blt(x, y, @shuzhi_picture[5], rect)
- # 以XY坐标为主键方向字符为值
- @shuzhi_hash[x.to_s+"◎"+y.to_s] = "↗"
- when "↘"
- self.contents.blt(x, y, @shuzhi_picture[6], rect)
- # 以XY坐标为主键方向字符为值
- @shuzhi_hash[x.to_s+"◎"+y.to_s] = "↘"
- when "↙"
- self.contents.blt(x, y, @shuzhi_picture[7], rect)
- # 以XY坐标为主键方向字符为值
- @shuzhi_hash[x.to_s+"◎"+y.to_s] = "↙"
- end
- end
- # 项目判断
- xunhuan_time += 1
- end
复制代码 帮助刷新- # 刷新帮助
- def update_help
-
-
- # 为了刷新,就只好牺牲内存了
-
- # 判断
- #if self.index != @old_index
- # 隐藏帮助
- @help_window.visible = false
- # 简化写法
- jianqu1 = @shuzhi_array.size - 1
- jxmh = @shuzhi_array[jianqu1].split(/◎/)[0].to_i
- # 帮助坐标
- x = (self.index % jxmh) * 32
- y = (self.index / jxmh) * 32
- # 循环
- for i in @skill_case.keys
- # 判断
- if i == (x+4).to_s+"◎"+(y+4).to_s
- @help_window.set_text(
- x + 50, y, @skill_case[(x+4).to_s+"◎"+(y+4).to_s], @actor)
- end
- end
- # @old_index = self.index
- #end
-
- end
复制代码
|
|