je le code suivantUtiliser la variable statique dans différentes classes dans l'unité
public class Score : MonoBehaviour {
private static int score;
public int sc;
void OnTriggerEnter2D(Collider2D col) {
if (col.tag == "Ball") {
score++;
sc = score;
}
}
et c'est la classe que je utilise pour obtenir le score de la classe au-dessus
public class ScoreText : MonoBehaviour {
Score s = new Score();
int sc;
void Update() {
sc = s.sc;
}
}
Mais pour certains raison, ma variable sc dans la classe ScoreText est toujours 0. Comment puis-je résoudre ce problème?
Les deux réponses sont fausses. N'utilisez pas le mot-clé 'new' pour créer une instance de script qui hérite de' MonoBehaviour'. Voir [this] (https://stackoverflow.com/a/37399263/3785314) pour plus d'informations. – Programmer