|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
private function onSquareTimer(event:TimerEvent):void{ square1.x++; // перемещаем некоторый объект } } } Для выполнения повторяющегося в течение некоторого времени действия (или действий) можно использовать событие enterFrame спрайта. Но технология Timer предлагает некоторые преимущества по сравнению с событием enterFrame. Важнее всего, что появляется возможность создавать временные интервалы, отличающиеся от частоты смены кадров, а в случае применения enterFrame обработчик вызывается с частотой смены кадров. Существуют ситуации, когда лучше применять enterFrame. Например, что-то должно происходить с частотой смены кадров. Один из таких сценариев - воспроизведение кадров клипа в обратном порядке.
Задача 2. Переместить 2 шарика по таймеру. См. каталог primer2. package { import flash.display.Sprite; import flash.events.Event; import flash.events.TimerEvent; import flash.utils.Timer;
public class Example1 extends Sprite { // Переменные для 1-го шара var stepy:Number; var stepx:Number; var ball1:ball; var n:int; var dir:int;
// Переменные для 2-го шара var stepy2:Number; var stepx2:Number; var ball2:ball; var n2:int; var dir2:int;
public function Example1() { // Для 1-го шара n = 50; dir = 0; // задает направление движение. Если dir = 0, то шар движется из // (550;0) в (0; 400). Если dir = 1, то шар движется из (0;400) в (550;0). stepy = 400 / n; // Рассчитывается шаг перемещения по оси y stepx = 550 / n; // Рассчитывается шаг перемещения по оси x ball1 = new ball(); addChild(ball1); ball1.x = 550; // Задание начальное координаты шара по оси x ball1.y = 0; // Задание начальное координаты шара по оси y
var timer1:Timer = new Timer(50, 0); timer1.addEventListener(TimerEvent.TIMER, fun1); timer1.start();
// Для 2-го шара n2 = 50; dir2 = 0; // задает направление движение. Если dir = 0, то шар движется из // (0;0) в (550; 400). Если dir = 1, то шар движется из (550;400) в (0;0). stepy2 = 400 / n; // Рассчитывается шаг перемещения по оси y stepx2 = 550 / n; // Рассчитывается шаг перемещения по оси x ball2 = new ball(); addChild(ball2); ball2.x = 0; // Задание начальное координаты шара по оси x ball2.y = 0; // Задание начальное координаты шара по оси y
var timer2:Timer = new Timer(40, 0); timer2.addEventListener(TimerEvent.TIMER, fun2); timer2.start();
}
private function fun1(event:TimerEvent):void { // Листенер для 1-го таймера if (dir == 0) { // Шар движется из (550;0) в (0; 400) ball1.y += stepy; ball1.x -= stepx; if (ball1.x < 0) dir = 1; // Изменение направления движения шара } else { // Шар движется из (0;400) в (550;0) ball1.y -= stepy; ball1.x += stepx; if (ball1.x > 550) dir = 0; // Изменение направления движения шара } }
private function fun2(event:TimerEvent):void { switch(dir2) { case 0: // если dir2 == 0 ball2.y += stepy2; ball2.x += stepx2; if (ball2.x > 550 - ball2.width/2) dir2 = 1; // Изменение направления движения шара break; case 1: // если dir2 == 1 ball2.y -= stepy2; ball2.x -= stepx2; if (ball2.x < 0 + ball2.width/2) dir2 = 0; // Изменение направления движения шара break; } // конец switch } } }
Задания к 3-й лабораторной работе: написать две программы: 1) Два шарика перемещаются по событию ENTER_FRAME; 2) Два шарика перемещаются по событию TIMER. Требования: к листенерам должны быть построены блок-схемы. Использовать оператор switch. Варианты: Задания пониженной сложности: переместить 2 шарика: Варианты заданий к лабораторной работе № 1 1-й вариант.
2-й вариант.
3-й вариант.
4-й вариант.
5-й вариант.
6-й вариант.
7-й вариант.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.006 сек.) |