こちらを参考に作成しているのですが表示非表示の切り替えが上手くいくスクリプト(オブジェクト)と上手くいかないスクリプト(オブジェクト)があり、調べても原因が分からなかったので質問させていただきました。
動作しない方は非表示にするべきシーンでテキストが非表示にならず「Score0」という文字が表示されてしまいます。
該当部分(表示非表示の切り替えを司る部分)
どちらのスクリプトもif文の処理内容以外は共通で、以下の通りです。
C#
1if (Data.Instance.referer == "random normal" | Data.Instance.referer == "random hard" | Data.Instance.referer == "random rush") 2{ 3 処理 4} 5else 6{ 7 this.gameObject.SetActive(false); //非表示に 8}
該当のスクリプト(正常に動作している方)
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class HighScore : MonoBehaviour 7{ 8 public Text ScoreText; 9 // Start is called before the first frame update 10 void Start() 11 { 12 if (Data.Instance.referer == "random normal" | Data.Instance.referer == "random hard" | Data.Instance.referer == "random rush") 13 { 14 if (Data.Instance.referer == "random normal") 15 { 16 GetComponent<Text>().text = "HighScore" + HitCheck.HighScoreNormal.ToString("F0"); 17 } 18 else if (Data.Instance.referer == "random hard") 19 { 20 GetComponent<Text>().text = "HighScore" + HitCheck.HighScoreHard.ToString("F0"); 21 } 22 else if (Data.Instance.referer == "random rush") 23 { 24 GetComponent<Text>().text = "HighScore" + HitCheck.HighScoreRush.ToString("F0"); 25 } 26 } 27 else 28 { 29 this.gameObject.SetActive(false); 30 } 31 32 } 33 34 // Update is called once per frame 35 void Update() 36 { 37 38 } 39} 40
該当のスクリプト(動作しない方)
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class Score1 : MonoBehaviour 7{ 8 public Text ScoreText; 9 // Start is called before the first frame update 10 void Start() 11 { 12 if (Data.Instance.referer == "random normal" | Data.Instance.referer == "random hard" | Data.Instance.referer == "random rush") 13 { 14 Timer.score = PlayerPrefs.GetFloat("SCORE"); 15 GetComponent<Text>().text = "Score" + Timer.score.ToString("F0"); 16 PlayerPrefs.SetInt("SCORE", 0); 17 PlayerPrefs.Save(); 18 } 19 else 20 { 21 this.gameObject.SetActive(false); 22 } 23 24 } 25 26 // Update is called once per frame 27 void Update() 28 { 29 30 } 31} 32
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。