So steuern Sie eine Variable zwischen Skripten in Unity und greifen darauf zuC#

Ein Treffpunkt für C#-Programmierer
Guest
 So steuern Sie eine Variable zwischen Skripten in Unity und greifen darauf zu

Post by Guest »

Ich habe also Skripte in Unity. Ein Hauptmenü, in dem ich die meisten meiner Funktionen und Variablen habe, und ein zweites, in dem ich nur einige Dialoge verwalte. Was ich tun möchte, ist, dass ich im ClickManager-Skript einen deklarierten Bool namens „clicked“ habe

Code: Select all

using UnityEditor.PackageManager;
using UnityEngine;

public class ClickManager : MonoBehaviour
{
public bool clicked{ get; set; }

public void Start()
{
clicked = false;
}
Jetzt möchte ich, dass nach dem Klicken auf ein Objekt es auf „true“ gesetzt wird, was funktioniert. Aber ich habe auch im zweiten Skript Zugriff auf das erste Skript wie diesen ClickManager clickManager; Ich habe auch in der Update-Funktion den Status überprüft, wenn er nicht wahr ist, so:

Code: Select all

void Update()
{
**Debug.Log(clickManager.clicked);**
if(clickManager.clicked)
{
StartDialogue();
//clickManager.clickManager.clicked = false;
}
}
Jetzt tritt das Problem in Verbindung mit dem Debug.Log auf, da der folgende Fehler zurückgegeben wird

Code: Select all

NullReferenceException: Object reference not set to an instance of an object
Dialogue.Update () (at Assets/Dialogue.cs:27)
Nach meinem Wissen oder meinem gesunden Menschenverstand gehe ich davon aus, dass das Problem darin besteht, dass das zweite Skript nicht auf den Bool-Wert des ersten Skripts zugreifen kann.
Ich habe versucht, das zu deklarieren Variable im zweiten Skript und Zugriff darauf über das erste. Gleiches Problem. Ich habe auch versucht, diesen clickManager = GetComponent(); in der Start()-Funktion zu verwenden, was zu keiner Änderung geführt hat.
Ich habe auch eine Get-Funktion wie diese ausprobiert:

Code: Select all

private bool getClicked()
{
return clickManager.clicked;
}
Welches Jahr hat nichts gebracht

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post