【求教】怪物移动的问题
-
我的怪物有{自动寻路}和{炮台}两个能力
应该怎么才能让怪物实现
炮台范围内没敌人时,自动向最近的敌人移动,并关闭炮台
否则,停止移动,并开启炮台
-
其实就根据你说的逻辑自己就可以写出来了
相关的条件动作都有,找一下就可以了实现了
-
整理逻辑应该是这样的
怪物生成以后
若炮台范围没有敌人,则自动检索最近的敌人,向其移动,并禁用炮台
当敌人进入炮台范围时,停止移动,并启用炮台
就是这一块的逻辑,我没找到相关的条件呢
-
你把你的逻辑反过来,可能会更好找到你需要的条件, 实际上是只要一个取反操作就可以了
炮台范围内没敌人时,
否则,停止移动,并开启炮台
把这个反过来思考
炮台范围内有敌人时,停止移动,并开启炮台
否则,自动向最近的敌人移动,并关闭炮台
这里需要注意的是,不是开启关闭炮台
而是添加的目标对象,在范围内炮台会自动攻击,然后你用炮台开火时这个条件来生成子弹
关闭禁用炮台后,就没办法用存在目标时这个条件了
-
@CJJ 哪大哥 我应该用什么移动方式呢?我用{自动寻路}的话,找不到{移动中}这个条件
无法做出:当怪物移动时,动画为“走动”,停止为“待机”
-
@我的个妈呀666
当然有啦, 沿路径移动时 不是有这个条件吗
-
@CJJ 哦哦哦 好的 谢谢 是我眼瞎了
哪大哥 还有个问题 你说自动向最近的敌人移动,哪我应该用哪一个动作呢?
我当前是做法是:寻找达到(X,Y)的路径,并自动移动,我觉得这个逻辑不太正确
-
@CJJ 大哥这是我当前的设计逻辑 你能帮我看看 怪物为什么还是不动吗?
-
@我的个妈呀666
有个条件叫 选中最近/最远的实例
这个一般要配合同类组来写,将怪物都丢进一个同类组,然后点击该同类组,然后再点击这个条件
弹出以后,XY就是你炮台的XY
比如 主角有炮台能力 ,那么就 X处填写 主角.X Y处填写 主角.Y
此时就是选中的同类组中 离 主角最近/最远 的实例进行操作了
-
@CJJ 明白了 我已经加了同类组了 但是这个 最近/最远的实例 我应该去哪里找呢?
我在{寻找路径}的条件里面选到同类组了 但是没有看到这个选项
-
@我的个妈呀666
你是想要玩家移动攻击僵尸,还是让僵尸移动攻击玩家?
我给你写一个例子
-
@CJJ 我想让 僵尸 攻击 英雄
僵尸有炮台和移动的能力
僵尸的逻辑 我想是这样的
范围内有英雄时,停止移动,并启动炮台
否则,禁用炮台,寻找最近的英雄,并向其移动
否则,禁用炮台,移动到(100,100)的位置
-
@CJJ 另外大哥,再请教一个小问题哟,我英雄和怪物都是使用同一种子弹,但是英雄和怪物的炮台范围都不一样,怎么让子弹在生成的时候根据生成的母体炮台范围来销毁呢?
-
@我的个妈呀666
方法1:给子弹一个实例变量,创建子弹时用这个变量记下母体的炮塔范围,然后当子弹的移动距离超过这个实例变量值时,销毁子弹(缺点,如果子弹会拐弯,那计算就不太准确)
方法2:给子弹一个实例变量,创建子弹时用这个变量记下母体的uid,然后每帧对每个子弹用uid选中其母体,进而判断子弹和母体的当前距离是否超过母体的炮塔范围,进而销毁子弹(缺点,相对耗性能,不适合超多子弹实例的情况)
-
好的感谢 我这边再试试
-
@CJJ 大哥 请问有例子可以抄抄作业吗?