Jump to content
Unity Insider Forum

Custom Class - Daten Speichern und Abrufen


Bibo
 Share

Recommended Posts

Hallo zusammen,

ich arbeite gerade an einem kleinen Mathe-Spiel. Die Aufgaben werden anhand von Parametern erstellt und in eine eigene Klasse gespeichert.

ich erstelle also mit public class MathQuestion eine klasse und packe die variablen rein. 

Die Aufgaben im Spiel sind Multiple-Choice. FakeAnswers sind lediglich erstelle int, welche nahe dem richtigen Ergebnis sind.

 

Soweit, so gut. Nun erstelle ich in einem anderen Script eine Variable mit der variable MathTasks. Solange ich die int speichern will scheint alles zu funktionieren. Sobald ich fakeAnswers einen wert hinzufügen will wirft das System eine Fehlermeldung aus. Wo liegt das Problem?

 

Die erstelle Klasse:

-------------------------------------------------

using System.Collections.Generic;

public class MathQuestion
{
    public int a;
    public int b;
    public int answer;
    public List<int> fakeAnswers;
}

 

Ein anderes Script

----------------------------------------------------

 public MathQuestion question = new MathQuestion();

  private void AddInformationToMathClass()
    {
        question.a = _firstNumber;
        question.b = _secondNumber;
        question.answer = _result;
        question.fakeAnswers.Add(_result); ->FEHLER
        question.fakeAnswers.Add(_fakeResult); -> FEHLER
    }

Link to comment
Share on other sites

Moin!

Die "fakeAnswers"-Variable wird vermutlich null als Wert haben, also keine Liste referenzieren. Du musst irgendwo mit so etwas wie

fakeAnswers = new List<int>();

ein neues List-Objekt erstellen und die Referenz der Variable zuweisen.

P.S.: Um's anderen weniger schwer zu machen, bitte statt "eine Fehlermeldung" immer die Fehlermeldung posten. Der Inhalt ist ja nicht gerade unwichtig ;)

  • Like 1
Link to comment
Share on other sites

Hallo, 

Welche Fehlermeldung du genau erhältst wäre schon hilfreich.

Ich rate mal ins blaue.

 In der class MathQuestion hast du  public List<int> fakeAnswers; eine Liste referenziert die aber noch auf null zeigt.

In der anderen Classe greifst du mit question.fakeAnswers.Add(_result); auf die fakeAnswers Liste zu die noch nicht Initialisiert ist. 

In der  class MathQuestion  hättest du mit public List<int> fakeAnswers = new List<int>(); die Liste Initialisiert

 

Sorry,  Sascha war mal wie immer 1 Minute schneller😉

Gruß Jog

Edited by Jog
War zu langsam
  • Like 1
  • Haha 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...