シーンAでカウントしたスコア表示を、シーンBで共有したく下記のスクリプトを作成しました。
デバッグログでは問題なく共有できているみたいなのですが、それをテキストに表示させるのが上手くいきません。。。
どのようにテキストに表示を渡せばよいか、ご教授いただいてもよろしいでしょうか。
スコアはUIのTextを使用しています。
・シーンAで使用しているコード
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; public class Count : MonoBehaviour { public Text Scoretext; public static int score = 0; void OnTriggerEnter2D(Collider2D other) { // 衝突したらスコア加算 { score += 10; Scoretext.text = string.Format("Score:{0}", score); } } }
・シーンBで使用しているコード
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class CountLoad : MonoBehaviour { public Text SocoreLoad; private int a; void Start() { a = (Count.score); //Debug.Log(Count.score); } }
シーンBで、デバッグログの上あたりに以下の行を追記するのは違う(もしくは値が表示されない)ということでしょうか?
SocoreLoad.text = string.Format("Score:{0}", a);
「上手くいかない」というのを具体的に記載して頂くと、回答が付きやすくなるかと思います。
エラーが出るとか、値が表示されないなどあれば。
ありがとうございます。
「上手くいかない」の補足させていただきます。
シーンAで表示されているスコア値が、シーンBにもっていけない内容になります。
(例えばシーンAのスコア値が100の場合、シーンBのスコア値も100にしたい)
そして、いただきました行を追記して解決いたしました!
本当にありがとうございました。(説明不足申し訳ございませんでした)
確認ありがとうございました。
デバッグログで値自体は共有されてたので、テキスト表示処理だけ抜けていたということなんですね。
解決した様で良かったです。
回答欄に解決した内容を追記し、自己解決として質問のクローズだけお願いいたします。
回答1件
あなたの回答
tips
プレビュー