C# コードを使用してint
変数からデータを取得しようとしています。Unity
以下は、C#
を取得するために使用しているコードですint
。
using UnityEngine;
using System.Collections;
public class endGameMessage : MonoBehaviour {
public static int score2;
void Start () {
GameObject thePlayer = GameObject.FindWithTag("Player");
gameScript game = thePlayer.GetComponent<gameScript>();
score2 = game.score;
}
// Update is called once per frame
void Update () {
Debug.Log (score2);
}
}
以下は、データを取得しようとしている他のスクリプトのコードです。
using UnityEngine;
using System.Collections;
public class gameScript : MonoBehaviour {
//score
public int score = 0;
void OnTriggerEnter(Collider other) {
if(other.gameObject.tag =="hammer"){
GameObject.FindGameObjectWithTag("pickUpMessage").guiText.text = ("Picked Up A Hammer");
Destroy(other.gameObject);
Debug.Log("collision detected hammer");
audio.PlayOneShot(gotHit);
score = score+10;
}
}
}
int
他のスクリプトに出くわす値を取得できますが、int
10 になるはずだったとしても常に 0 です。
私の質問は、スクリプト全体で値を維持するにはどうすればよいですか? どんな助けでも大歓迎です。