Изменить текст из другого класса с помощью AS3?

У меня есть сценарий действия на первом уровне, и он импортирует класс CustomSocket из внешнего файла .as. Когда я получаю команду в сокете, я хочу редактировать объекты графического интерфейса. Например, когда я получаю команду TIME 23 с сервера, я хочу изменить динамическое текстовое поле timerBox на значение 23. У меня есть метод с именем processCommand(cmd:String) в классе CustomSocket, но я не знаю, как изменить текст. Обычно вы можете просто сделать timerBox.text = "23";, но это не работает во внешнем классе?


person Mr_CryptoPrime    schedule 06.05.2013    source источник


Ответы (1)


Если «CustomSocket» не является вашим классом документа, вам нужно указать некоторую ссылку на вашу временную шкалу в вашем классе.

Для общего примера,

При импорте класса

import CustomSocket;

csObj:CustomSocket = new CustomSocket(this);

затем внутри класса в конструкторе

public function LibraryS(_ref:Object):void
{
  timelineRef = _ref;
}

тогда в вашем классе вы можете сказать,

timelineRef.timeBox.text = "23";
person pravid    schedule 06.05.2013
comment
Хорошо, у меня есть доступ к временной шкале в классе CustomSocket, но когда я пытаюсь установить текст на 23, он просто становится пустым, есть идеи, в чем причина? Спасибо. - person Mr_CryptoPrime; 06.05.2013
comment
Неважно, я думаю, что это была просто глупая проблема с встраиванием шрифта. - person Mr_CryptoPrime; 06.05.2013
comment
хорошо, вы разобрались. Надеюсь, это поможет кому-то еще, застрявшему с такой проблемой. - person pravid; 06.05.2013