Question by 
               alexdewilde · Sep 30, 2016 at 06:31 PM · 
                coroutineaddforce  
              
 
              Burst Fire?
When he spawns he shoots 2 bullets at once and never again.
using UnityEngine; using System.Collections;
public class BossScript : MonoBehaviour {
 public float max_health = 20;
 public float health = 0;
 public GameObject bar;
 public Transform[] waypoint;
 int cur = 0;
 public float speed = 0.06f;
 //public Transform Followplatform;
 public GameObject Enemykogel;
 public float fireRate = 0.5f;
 private float nextFire = 0.0f;
 public Rigidbody2D rb2;
 // Use this for initialization
 void Start () {
     rb2 = GetComponent<Rigidbody2D>();
     health = max_health;
     //InvokeRepeating ("decreasMyHealth", 1f, 0.3f);
     Invoke ("FireEnemyBullet", 1f);
 }
 public void addScore(int newScoreValue){
     
 }
 // Update is called once per frame
 void Update () {
     //GameObject Player = GameObject.FindGameObjectWithTag ("Player");
     //transform.position = new Vector3 (Player.transform.position.x, 7, 0);
     //als levens(health) op is
     if (transform.position != waypoint [cur].position) {
         Vector3 p = Vector3.MoveTowards (transform.position, waypoint [cur].position, speed);
         GetComponent<Rigidbody2D> ().MovePosition (p);
     } 
     else {
         cur = (cur + 1) % waypoint.Length;
     }
     if (health <= 0) {
         //wordt game opject vernietigd
         Destroy (gameObject);
     }
     if (Time.time > nextFire) {
         nextFire = Time.time + fireRate;
         //GameObject clone = Instantiate (Enemykogel, transform.position, transform.rotation)as GameObject;
         Invoke ("FireEnemyBullet", 1f);
     }
 }
 void fixedUpdate ()
 {
 }
 //bij een botsing met een ander object
 void OnTriggerEnter2D(Collider2D other)
 {
     //als het andere object getagd is met "bullet"
     if (other.gameObject.tag == "bullet") 
     {
         //gebruik levens afneem functie(decreasMyHealth)
         decreasMyHealth();
     }
 }
 public void decreasMyHealth(){
     health--;
     //Health calculator for UI img
     float calc_health = health/max_health;//if health is 80 / 100 = 0.8f
     //print(health/max_health);
     setHealthBar(calc_health);
 }
 public void setHealthBar(float myHealth){
     //hier wordt de maat(breedte) van het groene bra object aangepast met de data van decreaseMyHealth
     bar.transform.localScale = new Vector3 (myHealth, bar.transform.localScale.y, bar.transform.localScale.z);
 }
 void FireEnemyBullet(){
     GameObject Vliegtuig = GameObject.Find ("Vliegtuig");
     if (Vliegtuig != null) 
     {
         GameObject bullet = (GameObject)Instantiate (Enemykogel);
         bullet.transform.position = transform.position;
         
         Vector2 direction = Vliegtuig.transform.position - bullet.transform.position;
         bullet.GetComponent<Enemykogel> ().SetDirection (direction);
     }
 }  
 public IEnumerator FireBurst(GameObject bulletPrefab, int burstSize, float rateOfFire)
 {
     
     float bulletDelay = 10 / rateOfFire; 
     // rate of fire in weapons is in rounds per minute (RPM), therefore we should calculate how much time passes before firing a new round in the same burst.
     for (int i = 0; i < burstSize; i++)
     {
         
         GameObject bullet = (GameObject)Instantiate(Enemykogel); // It would be wise to use the gun barrel's position and rotation to align the bullet to.
         rb2.AddForce(bullet.transform.forward * 4000); // add some force to your bullet's rigidbody to make it go forward
         yield return new WaitForSeconds(bulletDelay); // wait till the next round
     }
 }
}
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
Problem with changing value in coroutine 0 Answers
Reference coroutine from another script 2 Answers
How to make pause beetwen action 0 Answers
Problem with coroutine / create a gap of 5 seconds [C#] 1 Answer
My Coroutine Ignores the Boolean 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                