Ошибка говорит о том, что где-то вдоль MC_state.textLabel.text
нет объектов, поэтому либо вспышка не может найти MC_state
, либо textLabel
внутри MC_state
, либо (маловероятно) text
внутри MC_state.textLabel
.
Если я рискну предположить, хотя, я думаю, вы видите это, потому что это произошло:
у вас есть где-то видеоклип под названием MC_state
, который имеет более одного кадра.Вы привязали gotoAndStop или gotoAndPlay к фрейму, в котором текстовое поле называется textLabel
, и это текст, который вы пытаетесь изменить.
Проблема, которая часто возникает у людей, переходящих с AS2, заключается в том, чточто при выполнении функции gotoAndPlay / gotoAndStop мувиклип не обновляется сразу, это происходит на этапе рендеринга.Однако код после этой функции выполняется сразу, поэтому мувиклип остается в старом фрейме.
есть два способа его обработки
настроить событиеобработчик, который обновляет событие рендера и затем изменяет текст.Вы можете поторопиться со сценическим рендерингом, запустив stage.invalidate
пример
другой (лучший) вариант - поместить текст во все фреймы и скрыть его.или невидимым, чтобы вы могли получить к нему доступ в любое время.