Ошибка № 1009: не удается получить доступ к свойству или методу пустой ссылки на объект - PullRequest
0 голосов
/ 28 марта 2012

Это довольно сложно.Я просто пытаюсь создать динамический текст и поместить в него текст во время выполнения.

Я получаю эту ошибку, хотя

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at MethodInfo-1()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()

У меня есть текстовый объект с именем textLabel, который находится внутримувиклип с именем MC_state.Я получаю это, потому что я использую:

MC_state.textLabel.text = "asdasd";

И мне хотелось бы знать, в чем проблема.У меня есть другие объекты, настроенные таким же образом, которые не дают мне этой проблемы.Я просто не знаю, как это отладить.

Спасибо!

1 Ответ

2 голосов
/ 28 марта 2012

Ошибка говорит о том, что где-то вдоль MC_state.textLabel.text нет объектов, поэтому либо вспышка не может найти MC_state, либо textLabel внутри MC_state, либо (маловероятно) text внутри MC_state.textLabel.

Если я рискну предположить, хотя, я думаю, вы видите это, потому что это произошло:

у вас есть где-то видеоклип под названием MC_state, который имеет более одного кадра.Вы привязали gotoAndStop или gotoAndPlay к фрейму, в котором текстовое поле называется textLabel, и это текст, который вы пытаетесь изменить.

Проблема, которая часто возникает у людей, переходящих с AS2, заключается в том, чточто при выполнении функции gotoAndPlay / gotoAndStop мувиклип не обновляется сразу, это происходит на этапе рендеринга.Однако код после этой функции выполняется сразу, поэтому мувиклип остается в старом фрейме.

есть два способа его обработки

  • настроить событиеобработчик, который обновляет событие рендера и затем изменяет текст.Вы можете поторопиться со сценическим рендерингом, запустив stage.invalidate пример

  • другой (лучший) вариант - поместить текст во все фреймы и скрыть его.или невидимым, чтобы вы могли получить к нему доступ в любое время.

...