- Home /
Hiding a GUI Texture upon death.
Hello everyone. I am working on a very basic game as I am very new to Unity and also C# scripting. I have a GUI texture duplicated 3 times to display 3 heart icons. I want to remove one heart icon every time an enemy touches the player. Here is what I have so far :
using UnityEngine;
using System.Collections;
public class PlayerDeath : MonoBehaviour {
Vector3 spawnPoint;
public int life = 0;
public Transform respawnPosition;
public int lives = 0;
public GUITexture life1;
public GUITexture life2;
public GUITexture life3;
void Start()
{
GameObject spawnObject = GameObject.FindWithTag("Player");
spawnPoint = spawnObject.transform.position;
}
public IEnumerator OnCollisionEnter(Collision boom)
{
//If the object that triggered this collision is tagged "bullet"
if(boom.gameObject.tag == "Enemy")
{
life = 50;
if(life == 50){
renderer.enabled = false;
yield return new WaitForSeconds(5);
renderer.enabled = true;
transform.position = spawnPoint;
lives ++;
}
if (lives == 1){
life1.gameObject.SetActive = false;
}
if (lives == 2){
life2.gameObject.SetActive = false;
}
if (lives == 3){
life3.gameObject.SetActive = false;
}
}
}
}
When the player dies nothing happens, any ideas or advice? Thanks in advance :D
Answer by HarshadK · Nov 03, 2014 at 11:23 AM
SetActive is a function so you set a game object to be false like:
SetActive(false);
So your statement for setting the life1 false becomes:
life1.gameObject.SetActive(false);
and so on for remaining GUI Textures.
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
homing missiles and transform and colission help c# 1 Answer
How to call OnTriggerEnter once 5 Answers
Help in solving mistake in my code 1 Answer