Project1

标题: 关于空装备栏和技能列表问题 [打印本页]

作者: foreverlove    时间: 2012-2-26 11:34
标题: 关于空装备栏和技能列表问题
小弟刚开始学脚本,很多地方还不太懂:
1.装备被卸下时,如何显示【空】,就是例如: 原来是“武器 [图标]铜剑”卸了以后变成“武器 【空】”指的是在Window_EquipRight里的相关事情,不是Window_EquipItem里那个
2.如何在状态窗口显示一个技能列表,我尝试把Window_Skill里的东西拷过来修改一下,好多错误和问题,达不到目的,哪位高手能教教我啊dsu_plus_rewardpost_czw
作者: Wind2010    时间: 2012-2-26 13:26
1、
  1.     draw_item_name(@data[0], 92, 32 * 0)
  2.     draw_item_name(@data[1], 92, 32 * 1)
  3.     draw_item_name(@data[2], 92, 32 * 2)
  4.     draw_item_name(@data[3], 92, 32 * 3)
  5.     draw_item_name(@data[4], 92, 32 * 4)
复制代码
可以看出描绘是用draw_item_name实现的,但是在Window_EquipRight中找不到该参数,于是到它的上一级Window_Selectable中寻找,最后在Window_Base中,找到以下语句:
  1.   def draw_item_name(item, x, y)
  2.     if item == nil
  3.       return
  4.     end
  5.     bitmap = RPG::Cache.icon(item.icon_name)
  6.     self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, 24, 24))
  7.     self.contents.font.color = normal_color
  8.     self.contents.draw_text(x + 28, y, 212, 32, item.name)
  9.   end
复制代码
那么,这个应该就是描绘武器的了,那么怎么修改?
当没有装备武器时,武器ID为0,也就是说导入到这个方法中的item为nil。
那么,就是要对
  1.     if item == nil
  2.       return
  3.     end
复制代码
这部分作修改了。怎么修改呢?
在if下一行加上self.contents.draw_text(x + 28, y, 212, 32,"【空】")
2、不知道LZ的思路是什么,不过应该也是仿照Window_Skill里的,先读取角色当前的技能,再一个一个描绘
作者: foreverlove    时间: 2012-2-26 13:58
Wind2010 发表于 2012-2-26 13:26
1、可以看出描绘是用draw_item_name实现的,但是在Window_EquipRight中找不到该参数,于是到它的上一级Wind ...

1、我在return前插入了
  1. self.contents.font.color = normal_color
  2. self.contents.draw_text(x + 28, y, 212, 32,"[空]“)
复制代码
可是没有效果啊?为什么呢?
2、就是因为不知道怎么一个一个描绘才不会做的……


‘‘──foreverlove于2012-2-26 13:59补充以下内容

那个引号是意外,恢复时打错的……
’’


‘‘──foreverlove于2012-2-26 18:56补充以下内容

谢谢,我说不行呢,真的是有一个新的脚本里定义了,太感谢了!成功了已经{:4_131:}
’’




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