Unity-实现在防御塔在范围内只攻击先进来的

xiaoxiao2021-02-27  155

public Queue enemyQue; GameObject take_aim; float second; // Use this for initialization void Start () { enemyQue = new Queue(); } // Update is called once per frame void Update () { second += Time.deltaTime; if (enemyQue.Count != 0) { take_aim = enemyQue.Peek() as GameObject; //transform.LookAt(take_aim.transform.position, Vector3.up); transform.forward = take_aim.transform.position - transform.position; if (second > CreateTime) { take_aim.GetComponent<Move_enemy>().Hp -= Attack; second -= CreateTime; } if (take_aim.GetComponent<Move_enemy>().Hp <= 0) { Destroy(take_aim); enemyQue.Dequeue(); } } } void OnTriggerEnter(Collider enemy) { if (enemy.tag == "Enemy") { enemyQue.Enqueue(enemy.gameObject); //Debug.Log(enemyQue.Count + "入队"); } } void OnTriggerExit(Collider enemy) { if (enemyQue.Count != 0) { enemyQue.Dequeue(); //Debug.Log(enemyQue.Count + "结束"); } }
转载请注明原文地址: https://www.6miu.com/read-13576.html

最新回复(0)