Question by
eitanwass · May 12, 2016 at 02:40 PM ·
gameobjectinstantiateprefabrandomresources.load
Unity won't Instantiate PLEASE HELP!
So my door won't instantiate. That's it.
Code: using UnityEngine; using System.Collections;
public class RandomDoor : MonoBehaviour {
public int randomDoor1;
public int randomDoor2;
public int randomDoor3;
public bool spawnedDoor1 = false;
private bool spawnedDoor2 = false;
private bool spawnedDoor3 = false;
public int NumberOfDoors;
public Vector3 vDoor1 = new Vector3(-16, 2, 0);
// Use this for initialization
void Start () {
randomDoor1 = Random.Range (0, NumberOfDoors + 1);
Debug.Log ("Generated number for door 1 : " + randomDoor1);
randomDoor2 = Random.Range (0, NumberOfDoors + 1);
randomDoor3 = Random.Range (0, NumberOfDoors + 1);
}
// Update is called once per frame
void Update () {
if(randomDoor1 == randomDoor2)
randomDoor2 = Random.Range (0, NumberOfDoors + 1);
if(randomDoor1 == randomDoor3)
randomDoor3 = Random.Range (0, NumberOfDoors + 1);
if(randomDoor2 == randomDoor3)
randomDoor3 = Random.Range (0, NumberOfDoors + 1);
if (spawnedDoor1 = false) {
GameObject door1 = (GameObject)Instantiate (Resources.Load ("scaryDoor1"));
spawnedDoor1 = true;
Debug.Log ("Spawned door1");
Debug.Log ("scaryDoor" + randomDoor1);
}
if (spawnedDoor2 = false) {
GameObject door2 = (GameObject)Instantiate (Resources.Load ("door" + randomDoor2));
spawnedDoor2 = true;
}
if (spawnedDoor3 = false) {
GameObject door3 = (GameObject)Instantiate (Resources.Load ("door" + randomDoor3));
spawnedDoor3 = true;
}
}
}
Only important stuff:
public bool spawnedDoor1 = false;
// Update is called once per frame
void Update () {
if (spawnedDoor1 = false) {
GameObject door1 = (GameObject)Instantiate (Resources.Load ("scaryDoor1"));
spawnedDoor1 = true;
Debug.Log ("Spawned door1");
}
Comment
Best Answer
Answer by NoseKills · May 12, 2016 at 04:36 PM
if (spawnedDoor3 = false)
You are assigning false into spawnedDoor3 here. The value of it is always false.
The result of a simple assignment expression is the value assigned to the left operand.
Try comparing the values instead
if (spawnedDoor3 == false)
//or shorter
if (!spawnedDoor3)
Your answer
Follow this Question
Related Questions
Create gameobject in other scene... 0 Answers
[Solved] Instantiated objects spawn at diferrent x 1 Answer
Only instantiate random seed once 1 Answer
What is Casting in Unity ? 1 Answer
How to find the (original) Prefab of a GameObject? 2 Answers