Главная Флеш Создание часов на ActionScript3
E-mail Печать PDF

Продолжаю активно осваивать флешь, и в этой статья я приведу пример создания часов на ActionScript 3. Для начала нам необходимо создать файл CreatedClock.fla fla и пакет к нему Clock в котором создадим класс ClockName, в котором будет описан на языке ActionScript весь исполнительный код. Для инициализации класса  ClockName в свойствах документа CreatedClock.fla укажем класс, который будет стартовать при открытии документа clock.ClockName

Эта запись означает, что класс ClockName находится в папке clock. Структура папок у меня получилась следующая:

1
2
3
-CreatedClock.fla
-clock
--ClockName.as

Вначале создадим круг 100X100 пикселей по которому будет передвигается наша стрелочка. Формат круга не имеет значение, пускай это будет обычный растровый рисунок.

 

blackeart

Вторым элементом мы создадим стрелку часов, которая будет вращается вокруг циферблата. Для ее создания нарисуем простую линию, размерами 50x50px которую преобразуем в Movie Clip и разместим посередине круга.

blackeart2

Третьим и последним элементом у нас будет кнопка, по нажатию на кнопку будет происходить старт работы часов. Для кнопки я взял первое, попавшееся изображения из интернета, а потом импортировал его в библиотеку флешь.

 

startblack

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

1
2
3
4
5
6
package clock {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
 
}

После этого создадим класс, в котором будем инициализировать таймер для начала работы часов.

1
2
3
4
5
6
7
8
9
10
11
12
13
	public class ClockName extends MovieClip {
var clockTime:Timer;
 
public function ClockName() {
clockTime = new Timer(1000,30);
 
StartTime.addEventListener(MouseEvent.CLICK, clicknow);
 
clockTime.addEventListener(TimerEvent.TIMER,movearrow);
clockTime.addEventListener(TimerEvent.TIMER_COMPLETE,endmove);
 
}
}

Создадим функции для старта таймера по клику и функцию для корректной остановки таймера при наступлении конца жизни таймера.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
		public function clicknow(e:MouseEvent) {
clockTime.start();
trace("Delay = "+clockTime.delay);
trace("RepeatCount ="+clockTime.repeatCount)
trace("Running = "+clockTime.running)
StartTime.visible=false;
}
 
public function movearrow(e:TimerEvent) {
LineArrow.rotation=LineArrow.rotation+12;
trace("Count = "+clockTime.currentCount);
}
 
public function endmove(e:TimerEvent) {
StartTime.visible=true;
clockTime.reset();
clockTime.stop();
}

Полный код для часов на ActionScript3 будет иметь такой вид:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package clock {
import flash.display.*;
import flash.events.*;
import flash.utils.*;
 
public class ClockName extends MovieClip {
var clockTime:Timer;
 
public function ClockName() {
clockTime = new Timer(1000,30);
 
StartTime.addEventListener(MouseEvent.CLICK, clicknow);
 
clockTime.addEventListener(TimerEvent.TIMER,movearrow);
clockTime.addEventListener(TimerEvent.TIMER_COMPLETE,endmove);
 
}
 
public function clicknow(e:MouseEvent) {
clockTime.start();
trace("Delay = "+clockTime.delay);
trace("RepeatCount ="+clockTime.repeatCount)
trace("Running = "+clockTime.running)
StartTime.visible=false;
}
 
public function movearrow(e:TimerEvent) {
LineArrow.rotation=LineArrow.rotation+12;
trace("Count = "+clockTime.currentCount);
}
 
public function endmove(e:TimerEvent) {
StartTime.visible=true;
clockTime.reset();
clockTime.stop();
}
 
}
 
}

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

Прикрепленные файлы:
Пример часов на ActionScript3104 Kb

Авторизация

Nice Ajax Poll

Какое из моих расширений самое лучшее?

Статистика



Реклама