Having terrible trouble with GUIText
I'm having a ton of trouble with this GUIText script:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Cutscene1Script : MonoBehaviour {
public int cutsceneProgress;
public bool startTimer;
public bool noSpawn = false;
public float cutsceneTransitionTimer = 3;
public GUIText text;
void Start (){
noSpawn = false;
}
// Update is called once per frame
void Update () {
if (Input.GetButtonDown ("Fire1") && startTimer == false){
if (cutsceneProgress == 0) {
cutsceneProgress += 1;
startTimer = true;
}
startTimer = true;
}
if (startTimer == true) {
cutsceneTransitionTimer -= Time.deltaTime;
}
if (cutsceneTransitionTimer <= 0) {
cutsceneProgress += 1;
cutsceneTransitionTimer = 3;
startTimer = false;
noSpawn = false;
}
if (cutsceneProgress == 0 && noSpawn == false) {
Instantiate (text, new Vector3 (0.5f, 0.5f, 0), Quaternion.identity);
text.text = "stuff";
noSpawn = true;
return;
}
if (cutsceneProgress == 1 && noSpawn == false) {
Instantiate (text, new Vector3 (0.5f, 0.5f, 0), Quaternion.identity);
text.text = "stuff1";
noSpawn = true;
return;
}
if (cutsceneProgress == 2 && noSpawn == false) {
Instantiate (text, new Vector3 (0.5f, 0.5f, 0), Quaternion.identity);
noSpawn = true;
text.text = "stuff2";
return;
}
if (cutsceneProgress == 3 && noSpawn == false) {
Instantiate (text, new Vector3 (0.5f, 0.5f, 0), Quaternion.identity);
noSpawn = true;
text.text = "stuff3";
return;
}
if (cutsceneProgress == 4 && noSpawn == false) {
Instantiate (text, new Vector3 (0.5f, 0.5f, 0), Quaternion.identity);
noSpawn = true;
text.text = "stuff4";
return;
}
if (cutsceneProgress == 5 && noSpawn == false) {
Instantiate (text, new Vector3 (0.5f, 0.5f, 0), Quaternion.identity);
noSpawn = true;
text.text = "stuff5";
return;
}
if (cutsceneProgress == 5 && noSpawn == false) {
Instantiate (text, new Vector3 (0.5f, 0.5f, 0), Quaternion.identity);
noSpawn = true;
text.text = "stuff6";
return;
}
if (cutsceneProgress == 6 && noSpawn == false) {
SceneManager.LoadScene ("nextlevel");
return;
}
}
}
So, my desire is that whenever the player presses fire1, the next batch of text appears shortly after the previous has deleted. This is done via instantiation of the previous GUIText and it seems to work...after the first two presses of fire1. You see, my problem is that, upon pressing the fire1 key once, the initial text reappears. After pressing it again, the "stuff2" text appears, meaning the code completely skips over the "stuff1" text. My guess is this has something to do with the destruction of the initial object, but I have no idea what to do to fix this. Also, if you have an answer, please provide some pseudo-code, as I am very inexperienced with GUIText.
Your answer
![](https://koobas.hobune.stream/wayback/20220612081402im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
HELP ! Highscore name input after each Death 0 Answers
How to find what keys are mapped to the input buttons? 0 Answers
Assign variables on Instantiation? 0 Answers
input.getaxis not working 2 Answers