シーンAからシーンBに遷移すると,シーンBにある数値が増えるようにしたい
Unityで2Dゲームを作っています。
例えば、シーンBlueからシーンRed内に遷移すると、シーンRed内にあるテキスト内の数値に決まった値(ここでは20)だけ加算される機能を作りたいです。
試したこと
まず、以下の二つのサイトを参考にして、2つのコードを作成しました。
(https://gametukurikata.com/program/data)
(https://teratail.com/questions/172619)
該当のソースコード
c#
1using UnityEngine; 2using UnityEngine.UI; 3using System.Collections; 4using System.Collections.Generic; 5 6public class Blue : MonoBehaviour 7{ 8 public static int Up20 = 20; 9 10 void Start() 11 { 12 13 } 14 void Update() 15 ) 16 17 ( 18}
c#
1using UnityEngine; 2using UnityEngine.UI; 3using System.Collections; 4using System.Collections.Generic; 5 6public class Red : MonoBehaviour 7{ 8 public Text label; 9 public static int count; 10 11 void Start() 12 { 13 UpdateLabel(); 14 count += Blue.Up20; 15 UpdateLabel(); 16 } 17 void UpdateLabel() 18 { 19 label.text = count + ""; 20 } 21}
試したこと
スクリプトBlue,Redはそれぞれ、シーンBlue,Red内のGameObjectにアタッチされています。
一見20ずつ加算されるようになったように見えましたが、この方法だとシーンBlueからのみに限らず、どのシーンからシーンRedに移ったとしても20が加算されてしまいました。私が作りたい機能は、シーンRedの直前のシーンからのみの加算なので、この方法だと加算されすぎてしまいます。
どうすればよいでしょうか。考え方を教えていただきたいです。
補足情報(FW/ツールのバージョンなど)
windows 10 HOME
unity 2019.3.7f1
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/04 14:14