Project1

标题: 装备栏扩展用法 [打印本页]

作者: flzt5354    时间: 2009-8-28 13:11
标题: 装备栏扩展用法
本帖最后由 flzt5354 于 2009-9-1 18:09 编辑

http://rpg.blue/web/htm/news308.htm
地址
  1. def refresh
  2.     self.contents.clear
  3.     @data = []
  4.     @data.push($data_weapons[@actor.weapon_id])
  5.     @data.push($data_armors[@actor.armor1_id])
  6.     @data.push($data_armors[@actor.armor2_id])
  7.     @data.push($data_armors[@actor.armor3_id])
  8.     @data.push($data_armors[@actor.armor4_id])
  9.     @data.push($data_armors[@actor.armor5_id])
  10.     @data.push($data_armors[@actor.armor6_id])
  11.     @item_max = @data.size
  12.     self.contents.font.color = system_color
  13.     self.contents.draw_text(4, 32 * 0, 92, 32, $data_system.words.weapon)
  14.     self.contents.draw_text(4, 32 * 1, 92, 32, $data_system.words.armor1)
  15.     self.contents.draw_text(4, 32 * 2, 92, 32, $data_system.words.armor2)
  16.     self.contents.draw_text(4, 32 * 3, 92, 32, $data_system.words.armor3)
  17.     self.contents.draw_text(4, 32 * 4, 92, 32, $data_system.words.armor4)
  18.     self.contents.draw_text(4, 32 * 5, 92, 32, "项链")
  19.     self.contents.draw_text(4, 32 * 6, 92, 32, "鞋")
  20.     draw_item_name(@data[0], 92, 32 * 0)
  21.     draw_item_name(@data[1], 92, 32 * 1)
  22.     draw_item_name(@data[2], 92, 32 * 2)
  23.     draw_item_name(@data[3], 92, 32 * 3)
  24.     draw_item_name(@data[4], 92, 32 * 4)
  25.     draw_item_name(@data[5], 92, 32 * 5)
  26.     draw_item_name(@data[6], 92, 32 * 6)
复制代码
这是范例工程的其中一段脚本
在防具当中
皮鞋,5
灵巧项链,4
这个。。实在不能理解是怎样分的
作者: 夏季冰川    时间: 2009-8-28 13:32
逗号后面是5代表这类装备属于鞋子
逗号后面是4代表这类装备属于项链
作者: flzt5354    时间: 2009-8-28 14:10
也许是我没问清楚。。
我想问的是!!!
哪里定义,5是鞋子
,4是项链
作者: 悠悠炸弹    时间: 2009-8-28 14:22
脚本盲我估计是这里.......
  1. module RPG
  2.   class Armor
  3.     def name
  4.       name = @name.split(/,/)[0]
  5.       return name != nil ? name : ''
  6.     end
  7.     def kind
  8.       kind  = @name.split(/,/)[1]
  9.       return kind  != nil ? kind.to_i : @kind
  10.     end
  11.   end
  12. end
复制代码
  1. class Game_Actor < Game_Battler
  2.   attr_reader   :armor5_id                # 项链 ID
  3.   attr_reader   :armor6_id                # 鞋 ID
  4.   #--------------------------------------------------------------------------
  5.   # ● 设置
  6.   #     actor_id : 角色 ID
  7.   #--------------------------------------------------------------------------
  8.   alias old_setup setup
  9.   def setup(actor_id)
  10.     old_setup(actor_id)
  11.     @armor5_id = 0
  12.     @armor6_id = 0
  13.     update_auto_state(nil, $data_armors[@armor5_id])
  14.     update_auto_state(nil, $data_armors[@armor6_id])
  15.   end
复制代码
  1. self.contents.draw_text(4, 32 * 5, 92, 32, "项链")

  2.     self.contents.draw_text(4, 32 * 6, 92, 32, "鞋")
复制代码

作者: flzt5354    时间: 2009-8-28 14:36
额。。虽然你指出来
但是我实在是看不出哪里定义了。。
。。应该说看不太懂
作者: ONEWateR    时间: 2009-8-28 15:13
kind ~
  1.     def kind

  2.       kind  = @name.split(/,/)[1]

  3.       return kind  != nil ? kind.to_i : @kind

  4.     end
复制代码
通过读取装备名称识别种类~
作者: flzt5354    时间: 2009-8-28 15:17
kind  = @name.split(/,/)[1]

return kind  != nil ? kind.to_i : @kind
------
能不能解析下(/,/)[1]是什么意思
nil ?这个也不懂
!  不知道有什么用
作者: ONEWateR    时间: 2009-8-28 15:26
咱只根据个人经验说明,如有错误,请pia之
@name.split(/,/)[1] 是指读取","的后一字串符,也就是分割数据,将其当成另一字串符使用~

例如
a = "铜件,5"
p a.split(/,/)[1]  
结果为 "5"


return kind  != nil ? kind.to_i : @kind

咱将其简单化吧~

if kind != nil
return kind.to_i  # 将字串符转化成变量
else
return @kind   # 估计@kind 的初始值为0吧 - -
end

嘛。大概是这样~
作者: flzt5354    时间: 2009-8-28 19:33
看来看去。。
attr_reader   :weapon_id                # 武器 ID
  attr_reader   :armor1_id                # 盾 ID
  attr_reader   :armor2_id                # 头防具 ID
  attr_reader   :armor3_id                # 身体体防具 ID
  attr_reader   :armor4_id                # 装饰品 ID
还是搞不懂,4为什么=项链
,5=鞋子
这个无论号数是接着算(,5,6)
还是从新算(,1,2)
.。另外我实在是找不出哪里定义a = "铜件,5"
当然。是类似的地方!
作者: ONEWateR    时间: 2009-8-28 20:36
具体查看F1帮助~
以下来自F1帮助文件 ><

kind
种类(0:盾,1:头部防具,2:身体防具,3:装饰品)。

作者: 天使喝可乐    时间: 2009-9-1 16:09
定义时要改N多地方的
LZ可以参考这http://rpg.blue/viewthread.php?tid=122129 这是我少改了点
我加了4个装备 正确代码看底楼我认可过的- -
作者: flzt5354    时间: 2009-9-1 18:07
这个问题我已经解决了
谢谢了




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