Project1

标题: 怎么判断某个敌人是否拥有某技能? [打印本页]

作者: zx16589042    时间: 2011-6-7 14:22
标题: 怎么判断某个敌人是否拥有某技能?
本帖最后由 zx16589042 于 2011-6-7 14:30 编辑

RT

角色的技能判断已经在  class Actor  类中写出来了

if @actor.skill_learn?(20)

敌人的技能怎么判断?

例如:
  我想知道1号敌人是否拥有20号技能怎么写?谢谢了
                                                                     ------  学习电脑室留


今天在学想了下不知道: 这个可以么,各位大侠看看,准备今天放学回去试试看......
    for action in $game_party.enemys.action
      if action.skills.include?(20)
      
      end
    end

作者: 沙漠点灰    时间: 2011-6-7 15:30
数据库中,敌人貌似没有技能吧...?
for action in $game_party.enemys.action

Game_Party也没定义enemys,再说Game_Party是管队伍的,敌人用Game_Troop...

作者: zx16589042    时间: 2011-6-7 17:27
沙漠点灰 发表于 2011-6-7 15:30
数据库中,敌人貌似没有技能吧...?

Game_Party也没定义enemys,再说Game_Party是管队伍的,敌人用Game_Tro ...

for action in $game_party.enemys.action
指的是战斗队伍中敌人的行动
action.skills 指行动中的技能这句不知道成立么...
作者: 沙漠点灰    时间: 2011-6-7 18:36
本帖最后由 沙漠点灰 于 2011-6-7 18:38 编辑
zx16589042 发表于 2011-6-7 17:27
for action in $game_party.enemys.action
指的是战斗队伍中敌人的行动
action.skills 指行动中 ...


你在Game_Party定义enemys...?不恰当吧...应该用Game_Troop...
作者: zx16589042    时间: 2011-6-7 20:15
沙漠点灰 发表于 2011-6-7 18:36
你在Game_Party定义enemys...?不恰当吧...应该用Game_Troop...

这个我不太了解了,反正在Battler  里面有个$game_party.enemys
你可以全局搜索下  Ctrl+Shift+F
作者: zx16589042    时间: 2011-6-7 20:29
zx16589042 发表于 2011-6-7 20:15
这个我不太了解了,反正在Battler  里面有个$game_party.enemys
你可以全局搜索下  Ctrl+Shift+F ...

汗!刚一发现真的错了

QQ截图未命名.png (2.03 KB, 下载次数: 4)

QQ截图未命名.png

作者: zx16589042    时间: 2011-6-7 20:49
本帖最后由 zx16589042 于 2011-6-7 20:53 编辑

[quote]沙漠点灰 发表于 2011-6-7 15:30
数据库中,敌人貌似没有技能吧...?



我试了试为什么老是出现个7,这个7指的是普通攻击啊......晕

作者: 精灵使者    时间: 2011-6-8 00:24
怎么判断某个敌人是否拥有某技能?
可以利用判断某个开关是否打开的情况下来判断敌人拥有的技能
参考:敌人技能——在开关为ON的时候释放
作者: 希望化身    时间: 2011-6-8 01:28
我是给Game_enemy 写了一个新的函数……
  1.   #--------------------------------------------------------------------------
  2.   # ● 已经学会的特技判定
  3.   #     skill_id : 特技 ID
  4.   #--------------------------------------------------------------------------
  5.   def skill_learn?(skill_id)
  6.     skill_have = []
  7.     for action in self.actions
  8.       if action.kind == 1
  9.         skill_have.push(action.skill_id)
  10.       end
  11.     end
  12.     return skill_have.include?(skill_id)
  13.   end
复制代码
…………不知道你中意么
作者: zx16589042    时间: 2011-6-13 18:17
其实我做成了这个.....只是总发现不对....比如说敌人设置了普通攻击....却有了7号技能
  def skill_learn?(skill_id)
    skills= []
    for action in self.actions
        skills.push(action.skill_id)
    end
end




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