前提・実現したいこと
Unityにて変数が代入されるタイミングについて質問です。
これが正常な挙動なのかどうかがわかりませんので、教えていただきたいです。
発生している問題・エラーメッセージ
下記コードにおいて、Start()内で a を出力すると 1 と表示されます。 しかし、別のスクリプトから、CheckInt()を呼び出した際は a が 0と出力されてしまいます。 Start()が呼ばれた時点で a = 1 が実行されるので、CheckInt()が呼ばれた際は a = 1であるという認識は間違いでしょうか? もしこれが正常な挙動であるならば、CheckInt()の時点で a = 1 を代入したいのであればメソッド内で指定するしかないのでしょうか。
該当のソースコード
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class SaveOperation : MonoBehaviour 6{ 7 int a; 8 9 void Start() 10 { 11 a = 1; 12 Debug.Log(a); 13 } 14 15 public void CheckInt() 16 { 17 Debug.Log(a); 18 } 19 20} 21 22
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。