- Home /
Player lives script help
So i got this script where if the player gets destroyed he returns to the game until all the lives runs out, basically like any other shmup game. I was following this Spaceshooter tutorial Skip to 19:40 he talks about how to make the player spawn. So i'm translating the tutorial to C# and my script does everything in the tutorial but when the player gets hit by the enemy the player does not spawn back, then in the gamecontroller script its say missing gameObject after player gets hit by the enemy. Here is my script for reference
public Transform playerShip;
public int playerLives = 2;
public GameObject player;
void Start ()
{
if (player == null && playerLives >= 1) {
playerLives--;
Instantiate (playerShip, new Vector3 (0, 0, 0), Quaternion.Euler (0, 0, 180));
player = GameObject.FindGameObjectWithTag ("Player");
}
}
If anybody can help that will be appreciated, i'm confused why it does not want to spawn the player again after an enemy defeats the player.
Answer by AyAMrau · Aug 28, 2014 at 05:36 PM
You put your logic in the Start function, which means the check will only happen once when the script becomes active. In the tutorial he puts it in the Update().
also why not just:
player = Instantiate (playerShip, new Vector3 (0, 0, 0), Quaternion.Euler (0, 0, 180)) as GameObject;
instead of using Find for no reason.
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Need help calling a script to another keep getting errors 1 Answer
Float not working all the time? 1 Answer
Accelerometer Quick Question(Moving Up and Down?) 1 Answer
How To Add PlayerPrefs Scores? 1 Answer