碰撞检测
//逗留碰撞 void OnTriggerStay (Collider other) { if (other.transform.name == name) { //检测距离 //根据距离 发射子弹, } } private bool peng = false;//和目标物体发生碰撞没有 private string name;//目标 //进入碰撞 void OnTriggerEnter (Collider other) { table.Add (other.transform.name, other.transform); // if (peng == false) {//如果没碰, foreach (DictionaryEntry de in table) { //检测碰撞,发现导入方法 //加入 Transform transform = de.Value as Transform; if (jiance (transform)) { name = other.transform.name; peng = true; } } } } //离开碰撞 void OnTriggerExit (Collider other) { table.Remove (other.transform.name); //如果消失 if (other.transform.name == name) { peng = false; } } bool jiance (Transform tr) { //判断是否符合条件 if (tr == transform) { //这里写方法判断逻辑 if(tr.GetComponent<"对方属性类">()."相关属性" == this.transform.GetComponent<"自己属性类">()."相关属性") { //可以打到 return true; }else {//重新选择敌人 return false; } } }
上面是 角色被动 技能,下一节 探讨 主动技能 实现