- Home /
Falling Bomb Script Not Working Right
Hello, I made the falling bomb script for my game and I can't seem to fix the issue. The issue I'm having is that it starts off working and runs through everything fine but it will not continually loop through it. What supposed to happen is that once it runs through the code it loops though it all over again for ever. I thank anyone who can help me with this and I hope I explained it well to understand. Thank You.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class bombFalling : MonoBehaviour {
[SerializeField]private Transform bomb;
[SerializeField]private Transform bombRespawnPoint;
public Rigidbody2D rb2D;
void Awake() {
rb2D = GetComponent<Rigidbody2D>();
rb2D.isKinematic = true;
StartCoroutine(Boom());
Debug.Log("StartCoroutine has started");
}
IEnumerator Boom(){
while(true){
yield return new WaitForSeconds(5f);
Debug.Log("WaitForSeconds has Finished");
rb2D.isKinematic = false;
}
}
void OnTriggerEnter2D(Collider2D other){
Debug.Log("Boom!");
bomb.transform.position = bombRespawnPoint.transform.position;
//The ground must have a tag of "Ground" on it.
//A Box Collidere2D on the ground must have IsTriggered checked off.
}
}
After the waiting for 5 seconds in the coroutine, is$$anonymous$$inematic is set to false and on subsequent iterations of the loop, it stays set to false. Is this on purpose?
i think whats happening is that since you have not set is$$anonymous$$inematic back to true when it enters a trigger ground, the acceleration due to gravity keeps on building up and eventually is large enough that it misses the trigger collision with the ground and it keeps on going down. If you set
rb2D.is$$anonymous$$inematic = true;
after you reset your bomb pos to respawn point it should work ok
Your answer
Follow this Question
Related Questions
2D Animation does not start 1 Answer
Reverse animation loop stops at frame zero 0 Answers
How do I end my level? 2 Answers
How to make a circular 2D map. 2 Answers
2D Jump AI Help 0 Answers