unity检测范围内敌人_《Unity3D-控制检测碰撞以后触发的事件之敌人的攻击行为》...

//思路:此方法适用于敌人的攻击行为,当敌人和主角间的距离达到一定的范围的时候触发器将会触发这个行为

首先给主角和敌人身上绑定触发器 然后isTarigger选项一定要勾选上

//定义敌人的攻击行为

代码:

private float attack=10; //定义敌人的攻击伤害值

private float attackTimer=1;//定义敌人的攻击频率为1秒

private float timer=1;  //触发的间隙时间

//定义触发时间的方法

public void OnTriggerStar(Collider collider){  //此方法会检测玩家和敌人的距离一旦距离到达一定的值此方法 就会被调用然后下面的代码就是控制敌人去攻击的玩家的

if(collider.tag=="Player"){  //定义触发器触发的对象是玩家控制的角色

timer+=Time.deltaTime;  //让触发的间隙时间随着每帧的时间增加

if(timer>=attackTimer){  //一旦触发的间隙时间大于固定的攻击的是频率的时候就让敌人发动一次攻击

timer-=attackTimer;  //让触发的间隔时间不但的减小下一次需要的时候就可以调用此种方法

collider.GetComponent().HealthDamage(attack);  //其中的HealthDamage()方法就是让我们玩家控制的角色掉血的方法 attack为敌人每次的攻击的伤害

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值