понедельник, 3 января 2011 г.

Урок 3. EventListener

Урок 3
EventListener

И сразу к делу) Event – это событие. Значит, EventListener – это слушатель событий!) При выполнении заданного события, выполняется заданная функция. Задаются эти параметры в скобках addEventListener, что является свойством мувиклипа: объект_мувиклипа.addEventListener(тип события, имя функции);
* Так как в следующем уроке мы будет использовать эти EventListener’ы и там будет такая команда removeEventListener это аналогично addEventListener, только remove – удаляет, а add – добавляет.
Пример:

Так как stage(сцена, где размещаются все графические объекты) также является мувиклипом, то к ней мы тоже можем прикрутить слушатель, например, реагирующий на нажатие. Код:
stage.addEventListener(MouseEvent.CLICK, stg_clicked);
function stg_clicked(e:MouseEvent){
trace("вы нажали на сцену");
}
Теперь что к чему.
MouseEvent – пакет событий, через точку там можно выбрать какой именно слушатель вам нужен (MOUSE_OVER, MOUSE_OUT, CLICK и т.д.).
stg_clicked - имя вашей функции.
e:MouseEvent – обязательный входной параметр, в данном случае в addEventListener мы указывали MouseEvent.CLICK, поэтому и пишем MouseEvent.
Зная всё это, попробуйте написать самостоятельно вот такую программку.



Единственное, что я вам подскажу, это как создать саму кнопку.
1. Рисуем кнопку (овал, круг, квадрат, что сами захотите).
2. Выбираем инструмент Text Tool (T) создаём на кнопке текстовое поле, и называем его. Если нет поля, где нужно писать имя, то установите тип не static Text не Input Text, а Dynamic Text. Запомните!!! Название переменных, объектов, текст. полей и проч. Не должны совпадать с служебными (var, text, Number, int и т.д.).
3. Выделяем текстовое поле и кнопку, нажимаем F8, называем это как-нибудь и устанавливаем тип – MovieClip.
Ну, и самое последнее – это как обратиться к тексту текстового поля. Если текст. поле у вас в кнопке, то пишем:
имя кнопки . имя текстового поля . text = и здесь текст или переменная типа String.
Если не получается – смотрите исходник)

5 комментариев:

  1. а что за функция rewrite_text

    ОтветитьУдалить
  2. Ну как, она же изменяет текст текстового поля в кнопке. А сам текст передаётся в качестве входного параметра Txt.
    function rewrite_text(Txt:String){
    button_bt.txt.text=Txt;
    }

    ОтветитьУдалить
  3. А исходники на CS3 не отрывает?

    ОтветитьУдалить
  4. Нет, на сколько я помню это CS4. Лучше просто скачать CS5.5 и не париться :)

    ОтветитьУдалить
  5. А такой вот вопрос: не хочет проигрывать код, который прикреплен к .fla файлу. Если же в первом кадре пишу что-то вроде

    var p = new Lesson (); пишет

    Error: Error #2136: SWF-файл file:///C|/Users/AntiVIRUZ/Desktop/Tyrian/src/Lessons/Lesson.swf содержит недопустимые данные.
    at Lessons::Lesson/frame1()[Lessons.Lesson::frame1:1]

    ОтветитьУдалить