- Home /
Bullet not shooting enemy center in unity
Hello, can you please help me to create correctly shoot of bullet to enemy center with my method ?
 private void Update()
 {
     if (GameObject.FindGameObjectWithTag("Enemy") && !_shooting)
     {
         StartCoroutine(Shoot());
         _shooting = true;
     }
 }
 private IEnumerator Shoot()
 {
     int random = Random.Range(1, Camera.main.transform.childCount);
     int rnd = Random.Range(0, transform.childCount);
     Instantiate(Bullet, transform.parent);
     target = Camera.main.transform.GetChild(1).transform.position;
     var rb = transform.parent.GetChild(transform.parent.childCount - 1).GetComponent<Rigidbody2D>();
     rb.transform.position = positions[rnd];
     transform.GetChild(rnd).GetComponent<Transform>().localScale = new Vector2(1.2f, 1.2f);
     StartCoroutine(ReturnDotSize(rnd));
     while (Vector2.Distance(rb.transform.position, target) > 0.1f)
     {
         rb.transform.position = Vector2.MoveTowards(rb.transform.position, target, shootSpeed * Time.deltaTime);
         yield return null;
     }
     yield return new WaitForSeconds(ReloadTime); 
     _shooting = false;
 }
Now bullet shoot only one time. I was try to write break instead of yield return null, but in this time bullet not shoot to center of enemy.In addition, I tried to write "_shooting = false" over "yield return null" and in this case the bullet clearly goes to the center of the enemy, but the "ReloadTime" delay does not work. Now I need the bullet to accurately go to the center of the enemy and work correctly "ReloadTime".
Answer by privatecontractor · Jan 18 at 08:44 AM
Hi,
Firstly (this will do :)) try to move: _shooting = true; to first line of your: private IEnumerator Shoot() instead to having it after Coroutine.
Hope will help!
Hi,
did you try to just move this _shooting = true; to coroutine?
Sry for Secondly bulshit (need some coffee in the morning)
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
               
 
			 
                