Доступ к переменной из другого класса возвращает ноль - PullRequest
0 голосов
/ 10 мая 2011

Я сделал отдельный класс levelData, чтобы иметь возможность гибко добавлять уровни. Я был доволен этим, пока мой руководитель не приказал мне преобразовать мои levelData в XML. Я сделал XML-версию данных levelData (вопрос, ответы, правильный ответ ...). Я использовал старый класс и преобразовал его, чтобы он извлекал XML.

Все, кажется, хорошо, я сделал следы моего массива ответов, и он напечатал красиво ...

Но головная боль началась, когда я попробовал это.

// This code appears in a different class with
// currentLvl:LevelData initialized in the constructor.
quizHolder.ansA.ansHud.text = currentLvl.choices[1];
quizHolder.ansB.ansHud.text = currentLvl.choices[2];
quizHolder.ansC.ansHud.text = currentLvl.choices[3];
quizHolder.ansD.ansHud.text = currentLvl.choices[4];
// BTW, I can't make a for loop to do the same function as above. So wierd.

Я пытался запустить его. вернуло:

TypeError: Error #2007: Parameter text must be non-null.
    at flash.text::TextField/set text()
    at QuestionPane/setQuiz()
    at QuestionPane/setQuestion()
    at QuestionPane()
    at LearningModule()

Где я ошибся? Я попытался создать для него специальную функцию get, но получил ту же ошибку. Заранее спасибо. Если мне нужно будет опубликовать больше кода, я с удовольствием сделаю это =)

Класс LevelData в PasteBin: http://pastebin.com/aTKC1sBC

Ответы [ 2 ]

0 голосов
/ 10 мая 2011

Когда вы звонили

quizHolder.ansA.ansHud.text = currentLvl.choices[1];
quizHolder.ansB.ansHud.text = currentLvl.choices[2];
quizHolder.ansC.ansHud.text = currentLvl.choices[3];
quizHolder.ansD.ansHud.text = currentLvl.choices[4];

этим?Вы загружаете XML и по окончании заполняете массив, что является правильным.но загружается ли XML и анализируется ли он в момент, когда вы обращаетесь (заполняете TextFields) к массиву выборов?

0 голосов
/ 10 мая 2011

Не видя больше кода, его сложно диагностировать, но правильно ли вы инициализировали массив выбора перед его использованием? В противном случае я думаю, что вам нужно будет опубликовать больше кода.

Другая возможная проблема - задержка загрузки данных XML. Убедитесь, что ваши данные установлены, прежде чем QuestionPane пытается получить к ним доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...