Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Методы обработки событий ActionScript 2.0 и




Методы обработки событий ActionScript 2. 0 и

обработчики ActionScript 1. 0

Метод ActionScript 2. 0 Обработчик ActionScript 1. 0 Применение для клипов Применение для кнопок
onPress on(press) Да да
onRelease on(release) Да да
onReleaseOutside on(releaseOutside) Да да
onRollOver on(rollOver) Да да
onRollOut on(rollOut) Да да
onDragOver on(dragOver) Да да
onDragOut on(dragOut) Да да
onKeyDown on(keyPress " Name" ) onClipEvent(keyDown) да да да нет
onKeyUp onClipEvent(keyUp) Да нет
onSetFocus Нет Да нет
onKillFocus Нет Да нет
onLoad onClipEvent(load) Да нет
onUnload onClipEvent(unload) Да нет
onEnterFrame onClipEvent(enterFrame) Да нет
onMouseDown onClipEvent(mouseDown) Да нет
onMouseUp onClipEvent(mouseUp) Да нет
onMouseMove onClipEvent(mouseMove) Да нет

 

Создание методов-обработчиков

Обработчик чаще всего является анонимной функцией, ссылка на которую присваивается методу клипа.

clip_mc. onPress = function() {

this. _x+=10; //при нажатии клип перемещается горизонтально

}

Можно создать именованную функцию и присвоить ее имя методу‑ обработчику.

function horizont _move() { this. _x+=10;  }

clip_mc. onPress = horizont _move;

Функция-обработчик может ссылаться на вызвавший ее объект через ссылку this. Если именованная функция вызывается непосредственно, то this будет указывать на хозяина временной оси, но которой находится сценарий кадра.

Абсолютная и относительная адресации в сценарии кадра используются так же, как и в сценарии кнопки. Обработчики, как и остальной код, желательно размещать на первом кадре основной временной шкалы.

Когда обработчик события выполнит свою задачу и станет не нужен, его можно удалить помощи оператора delete:

delete clip. onEnterFrame;

В случае часто происходящих событий (onEnterFrame, onMouseMove) это позволит освободить оперативную память и несколько уменьшить нагрузку на процессор.

Обработчики, созданные в сценарии клипа, удалить нельзя.

Задание №2

Выполните задание №1 с использованием сценария кадра.

Задание №3

Создайте 2 символа:

· прямоугольник, в центре которого символ-круг (circle);

· звезда, в центре которого находится такой-же символ-круг.

 

 

 При вхождении указателя мышки в область круга символ, содержащий этот круг поворачивается на 15 градусов.  

Возможны 2 варианта эффективного написания кода:

1. На временной оси основного ролика создать именованную функцию поворота родительского объекта и присвоить ее обработчикам события RollOver обоих желтых кругов.

2. При создании символа-круга circle на его временной оси создать сценарий кадра

this. onRollOver=function(){

this. _parent. _rotation+=15;

}

Выполнить оба варианта и добавить в рабочее поле еще один круг. Проанализировать поведение дополнительных кругов.

Задание №4

1. Создать новый fla файл. На его единственный кадр " перетащить " из библиотеки файла задания №3 символ circle. Протестировать файл.

2. Создать символ звездочку в центре которой экземпляр circle. Разместить в кадре экземпляр звездочки. Протестировать файл.

 

В чем удобство символов с кодом?

Контрольные вопросы к лабораторной работе №4

1. Создание методов-обработчиков событий.

2. Удаление методов-обработчиков событий.

3. Использование именованных функций для создания методов-обработчиков событий.

4. Использование указателя this в функциях и обработчиках событий.

5. Размещение кода на временной оси символа.

6. Объяснить код, использованный для выполнения задания.

Лабораторная работа №5

Тема: Генерация случайных чисел. Функция eval(). Свойство _currentFrame. Игра крестики-нолики

Отчет: Файлы с выполненными заданиями.

Случайные числа

Случайных чисел в ActionScript генерируются методом random() объекта Math ( Math. random() ). Данный метод возвращает случайное число в диапазоне от 0 до 1. Вероятность выпадения каждого из 1 000 000 000 000 000 возможных чисел одинакова и ничтожно мала.

На практике обычно бывает необходимо получать случайные значения в некотором промежутке от А до В, где А и В отличны от 0 и 1. Общая формула для получения случайных чисел в промежутке от А до В (А< В) имеет вид:

(B - А) * Math. random() + А.

Например, чтобы сгенерировать случайное число от 0 до 100, нужно набрать:

trace(100*Math. random());

Случайное число в промежутке от –10 до 20 дает следующий код:

trace(30*Math. random()-10); /

Иногда необходимо генерировать значение из какого‑ то ограниченного множества целых величин. Например, расставляя корабли в игре «Морской бой», генерировать необходимо целые числа от 1 до 100. Чтобы решить эту задачу, метод Math. random() нужно использовать совместно с одним из методов округления.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...