Project1
标题:
如何判断一个对象是武器还是防具?
[打印本页]
作者:
il4j
时间:
2016-7-19 22:03
标题:
如何判断一个对象是武器还是防具?
draw_icon画图标的时候是根据对象的INDEX来读取IconSet中的对应位置,而这个对象可能是技能、武器、防具和状态
如何判断这个对象的类型呢?
作者:
寒冷魔王
时间:
2016-7-19 22:21
本帖最后由 寒冷魔王 于 2016-7-19 22:31 编辑
baseitem.class
如武器就是RPG::Weapon
诸如:
p $game_actors[1].equips[0].class
RGSS3中,Game_Actor变量拥有变量@equips,是元素类型为Game_BaseItem的数组,这种数据通过.class方法可以获得其内部储存的变量的类型。
而通过actor.equips获取的数组,是对应的具体类型的数组。(如武器就是RPG::Weapon类型,而不是包装了的Game_BaseItem类型)
无论以上哪种,你都可以通过baseitem.class获取其类型。
具体的类型,请查阅【帮助手册】-【RGSS 参考】-【RGSS数据结构】-【游戏库】-【RPGVXAce 数据结构】-【RPG::BaseItem】。其子类就是所对应的类型。
作者:
喵呜喵5
时间:
2016-7-19 22:47
为啥你描绘图标还要判断类型?图标素材不都在同一个文件上吗
作者:
cinderelmini
时间:
2016-7-20 13:31
传进draw_icon方法的只有icon_index,
要判定的话应该在使用draw_icon方法的地方,
一般来说,那个地方(或者说,那个类里)一定有个item对象,以获得item.icon_index这个变量,
于是就在那个地方做判定:
if item.is_a?(RPG::Weapon)
...
elsif item.is_a?(RPG::Armor)
...
elsif item.is_a?(RPG::Item)
...
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1