《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<PlayerHealth>().HealthDamage(attack);  //其中的HealthDamage()方法就是讓我們玩家控制的角色掉血的方法 attack為敵人每次的攻擊的傷害

    }

  }

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM