查看: 2666|回复: 2

[已经解决] 敌人不存在的时候 攻击成刚刚指令对象的下一位敌人

[复制链接]
梦石
0
星屑
5410
在线时间
247 小时
注册时间
2020-5-21
回帖
32
发表于 2020-5-21 21:25:49 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
A B C角色 攻击2号敌人,
如果A B攻击 造成敌人2号已经死了
这时候C的攻击  敌人2号已经死了没有目标,系统默认的是攻击成了1号敌人,
怎么样才能攻击刚刚那个敌人的下一位(3号)  不是第一位敌人。

#################

就是当敌人不存在的时候  攻击成刚刚指令对象的下一位敌人,不是首位敌人
梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2020-5-22 10:53:37 | 显示全部楼层
本帖最后由 灯笼菜刀王 于 2020-5-22 10:55 编辑

class Game_Troop
  def smooth_target_enemy(enemy_index)
    enemy = @enemies[enemy_index]
    if enemy != nil and enemy.exist?
      return enemy
    end
    a,n = enemy_index + 1, @enemies.size
    while a % n != enemy_index
      if (ene = @enemies[a % n]) != nil and ene.exist?
        return ene
      end
      a += 1
    end
  end
end

把这个塞到MAIN前试试

评分

参与人数 1星屑 +50 赞 +1 收起 理由
RyanBern + 50 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
5410
在线时间
247 小时
注册时间
2020-5-21
回帖
32
 楼主| 发表于 2020-5-22 12:37:15 | 显示全部楼层
灯笼菜刀王 发表于 2020-5-22 10:53
class Game_Troop
  def smooth_target_enemy(enemy_index)
    enemy = @enemies[enemy_index]

谢谢大神 ,可以用的 ,就是这种效果
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部