1. При щелчке на прямоугольнике, он будет сдвигаться вправо.
- ДАЛЕЕ
- Создадим два слоя - Анимация и Скрипт
На сцене слоя Анимация создадим треугольник и преобразуем его в символ щелкнув по нему ПКМ – Преобразовать в символ... или просто нажать F8. Имя - треугольник Тип – Фрагмент ролика - OK
Далее в первом кадре слоя Скрипт щелкните ПКМ и в меню выберите – Действия. Или можно просто выделить первый кадр слоя и нажать F9. И в открывшемся окне пишем код:Код: Выделить всё
addEventListener (MouseEvent.CLICK, треугольник);
function треугольник (event:MouseEvent):void {
x += 5;
}
В данном примере, щелчок по треугольнику будет событием.Есть правило, по которому можно описать событие:
1. Создать слушателя событий.Код: Выделить всё
addEventListener (MouseEvent.CLICK, moveObject);
Метод addEventListener() всегда создает слушателя событий. Слушатель событий будет проверять, не произошло ли событие в нашей сцене. В скобках задается тип события. В нашем случае это событие мыши MouseEvent.CLICK – то есть треугольник будет сдвигаться вправо при щелчке на нем. После запятой пишется имя функции, которая нам нужна, чтобы в дальнейшем выполнять сдвиг треугольника вправо. Имя функции может быть любым, но лучше имена давать осмысленно. Я решил назвать функцию – треугольник.
Слушатель добавлен, теперь нужно описать саму функцию:Код: Выделить всё
function треугольник (event:MouseEvent):void {
x = x + 5;
}
Описывается функция moveObject.
В скобках описывается тип события – MouseEvent. Тип должен совпадать с типом события, указанным в слушателе. В фигурных скобках указывается, что будет делать функция, когда произойдет событие. x = x + 5 - означает, что объект сдвинется на 5 пикселей вправо по координате x.
2. При щелчке на треугольник – он будет двигаться вправо, а на звезду - влево.
- ДАЛЕЕ
- На слой Анимация добавим еще один объект – звезду и так же как и треугольник, преобразуем в символ. Чтобы можно было создать такую анимацию, как мне хочется, в коде будет необходимо ссылаться на каждый объект отдельно. Поэтому дадим имена нашим символам. Выделим треугольник и на панели свойств - в поле Назначить имя экземпляру – пишем - треуг
Аналогично выделим звезду и дадим ей имя экземпляра – звезд. Теперь снова возвращаемся в первый кадр слоя Скрипт и открыв панель Действия - F9. Редактируем код:Код: Выделить всё
addEventListener (MouseEvent.CLICK, треугольник);
function треугольник (event:MouseEvent):void {
треуг.x += 5;
звезд.x -= 5;
}
Протестировав наше творение - Ctrl+Enter. Увидим что при щелчке на один из объектов треугольник сдвигается вправо, а звезда влево.
Чтобы фигуры двигались независимо друг от друга. Создаем два события - одно для треугольника, другое для звезды.Код: Выделить всё
треуг.addEventListener (MouseEvent.CLICK, треугольник);
function треугольник (event:MouseEvent):void {
треуг.x += 5;
}
звезд.addEventListener (MouseEvent.CLICK, звезда);
function звезда (event:MouseEvent):void {
звезд.x -= 5;
}
Обратите внимание, что слушателя мы теперь регистрируем отдельно для каждого объектаКод: Выделить всё
треуг.addEventListener (MouseEvent.CLICK, треугольник);
звезд.addEventListener (MouseEvent.CLICK, звезда);
Какие бывают события мыши
- MouseEvent.CLICK – нажата и отпущена ЛКМ над рабочей областью;
- MouseEvent.MOUSE_DOWN – нажата ЛКМ;
- MouseEvent.MOUSE_UP – отпущена ЛКМ;
- MouseEvent.DOUBLE_CLICK – событие происходит после 2-го щелчка
- MouseEvent.MOUSE_MOVE – событие происходит, если курсор перемещается над областью отображения;
- MouseEvent.MOUSE_OVER – событие происходит, если указатель перемещается на объект. Чтобы событие произошло еще раз, курсор нужно поместить за пределы объекта, а потом снова навести его на объект.
- MouseEvent.MOUSE_OUT – событие происходит, если указатель перемещается за пределы области объекта;
- MouseEvent.MOUSE_WHEEL – событие происходит, если указатель расположен над рабочим объектом и пользователь крутит колесо;
Вы можешь поэкспериментировать с типами событий, заменив в нашем коде событие MouseEvent.CLICK в слушателе и в функции на какое-либо другое.
Действия при двойном клике
- ДАЛЕЕ
- Для события MouseEvent.DOUBLE_CLICK предварительно надо будет разрешить выполнение двойного щелчка на объекте:
Код: Выделить всё
треуг.doubleClickEnabled = true;
звезд.doubleClickEnabled = true;
треуг.addEventListener (MouseEvent.DOUBLE_CLICK, треугольник);
function треугольник (event:MouseEvent):void {
треуг.x += 5;
}
звезд.addEventListener (MouseEvent.DOUBLE_CLICK, звезда);
function звезда (event:MouseEvent):void {
звезд.x -= 5;
}
Так же можно посмотреть видеоурок События мыши № 9