Начало работы с вводом текста и динамическими текстовыми полями с помощью ActionScript 2.0 или 3.0

Я знаю, что это простой вопрос, но я мало работал с ActionScript ...

Я знаю, как создать поле ввода текста с помощью Flash. Я могу создать его на сцене и дать ему имя экземпляра.

Каков код для захвата значения поля ввода текста и отображения этого значения в динамическом текстовом поле? Чем отличается этот процесс между ActionScript 2.0 и 3.0?


person Andrew    schedule 29.07.2009    source источник


Ответы (3)


Это действительно зависит от того, когда вы хотите обновить динамическое текстовое поле с данными входного текстового поля.

Если вы хотите обновить динамическое текстовое поле один раз, попробуйте следующее:

//AS3
myDynamicTF.text = myInputFT.text;

//AS2
myDynamicTF._text = myInputFT._text;

Если вы хотите обновлять динамическое текстовое поле каждый раз, когда пользователь вводит текст в поле ввода, то в AS3 вам нужно прослушивать событие изменения TextField

//AS3
myInputFT.addEventListener(Event.CHANGE, changeHandler);

private function changeHandler(e:Event):void 
{
    myDynamicTF.text = myInputFT.text;
}

Для AS2 вы можете просто установить метод onChange для поля ввода:

//AS2
myInputFT.onChanged = function(textfield_txt:TextField) 
{
    myDynamicTF._text = textfield_txt._text;
};
person Adam Harte    schedule 30.07.2009
comment
Я пробовал ваш второй пример, но получаю сообщение об ошибке компилятора, в котором говорится, что класс или интерфейс «Событие» не могут быть загружены. Что мне делать иначе? - person Andrew; 30.07.2009

Я получал эту ошибку, пока не сохранил внешний файл .as. В отличие от файлов .fla, очевидно, что Flash использует последнюю сохраненную версию файла .as, а не текущее содержимое. Примечание: это во Flash 8, поэтому ваш пробег может отличаться.

person Jake    schedule 11.05.2010

Если вы работаете строго с файлами ActionScript, вам, вероятно, потребуется импортировать библиотеку событий. Это позволит вам использовать события.

В начале каждого файла ActionScript, в котором вы хотите использовать события, вам необходимо добавить:

import flash.events.*;
person Community    schedule 30.07.2009
comment
хм ... попробовал это, и все еще не удалось загрузить класс или интерфейс TextEvent - person Andrew; 30.07.2009