判断周围是否有敌人的三种模式
来源:互联网 发布:专业照片恢复软件 编辑:程序博客网 时间:2024/04/30 07:43
1、只攻击正前方的单位,向前发射一条射线,攻击碰到的单位
RaycastHit hit;
//range 射线的长度,即攻击范围,maskTarget敌方单位的mask,只攻击敌方单位
if(Physics.Raycast(unit.thisT.position, unit.thisT.forward, out hit, range, maskTarget)){
Unit targetTemp=hit.collider.gameObject.GetComponent();
if(targetTemp!=null && targetTemp.HPAttribute.HP>0){
target=targetTemp;
if(attackMode==_AttackMode.StopNAttack){
if(attackMethod!=_AttackMethod.Melee) unit.StopAnimation();
unit.StopMoving();
}
}
}
2、以己方单位为圆心的某一半径长度内
//返回相交球的所有碰撞体
Collider[] cols=Physics.OverlapSphere(unit.thisT.position, range, maskTarget);
//if(cols!=null && cols.Length>0) Debug.Log(cols[0]);
if(cols.Length>0){
Collider currentCollider=cols[Random.Range(0, cols.Length)];
Unit targetTemp=currentCollider.gameObject.GetComponent();
if(targetTemp!=null && targetTemp.HPAttribute.HP>0){
target=targetTemp;
if(attackMode==_AttackMode.StopNAttack){
if(attackMethod!=_AttackMethod.Melee) unit.StopAnimation();
unit.StopMoving();
}
}
}
3、以己方单位为圆心的扇形范围内
Collider[] cols=Physics.OverlapSphere(unit.thisT.position, range, maskTarget);
//if(cols!=null && cols.Length>0) Debug.Log(cols[0]);
if(cols.Length>0){
Collider currentCollider=cols[0];
foreach(Collider col in cols){
Quaternion targetRot=Quaternion.LookRotation(col.transform.position-unit.thisT.position);
if(Quaternion.Angle(targetRot, unit.thisT.rotation)
Unit targetTemp=currentCollider.gameObject.GetComponent();
if(targetTemp!=null && targetTemp.HPAttribute.HP>0){
target=targetTemp;
if(attackMode==_AttackMode.StopNAttack){
if(attackMethod!=_AttackMethod.Melee) unit.StopAnimation();
unit.StopMoving();
}
break;
}
}
}
}
- 判断周围是否有敌人的三种模式
- 判断周围是否有敌人的三种模式
- 判断周围是否有敌人的三种模式
- 判断周围是否有敌人的三种模式
- 判断周围是否有敌人的三种模式
- 判断周围是否有敌人的三种模式
- 判断周围有没有敌人
- 判断是否有敌人的3种方法
- 判断是否有敌人的3种方法
- 判断链表中是否有环的三种思路
- 判断数组是否有重复的三种办法
- 三、进攻的敌人
- JS判断一个数组中是否有重复值的三种方法
- Js判断数组中是否有重复值的三种方法
- JS判断数组中是否有重复值的三种方法
- JS判断一个数组中是否有重复值的三种方法
- JS判断一个数组中是否有重复值的三种方法 .
- JS判断一个数组中是否有重复值的三种方法
- 动态规划求解最长公共子序列(LCS)
- 【数据结构】散列表_HashTable
- redis内存预分配策略
- 游戏资源打包
- Java数据结构和算法--栈与队列
- 判断周围是否有敌人的三种模式
- java泛型学习,泛型通配符的理解
- domino常用知识总结
- QT 入门 心得
- Oracle Connect By 递归树用法
- 【数据结构】排序_Sort
- unity3d kinect 插件问题
- memcached锁机制
- java.lang.IndexOutOfBoundsException 错误解决