Методика преподавания

Темы практических занятий по Flash и Acrion Script.
Автор Сазонов Д.О. 2004 год.

Дополнительный материал по FLASH
Темы для самостоятельной работы (на автомат)
Краткий справочник по расположению функций ActionScript

Занятие 1

Цель:
Научиться делать простое движение, движение по направляющей и морфинг. См. примеры

Исходники
Посмотреть пример

Занятие 2

Цель:
Научиться импортировать растроваю графику, трассировать ее и работать с масками

Исходники
Посмотреть пример

Занятие 3

Цель:
Научиться импортировать графические изображения, нарисованные в Xara X. Научиться создавать вложенную анимацию.

Исходники Flash
Исходники Xara X
Посмотреть пример

Занятие 4

Цель:
Научиться создавать объект "кнопка" и обрабатывать его события с помощью ActionScript.
Рассмотреть объект "мышь" и ее свойства, привязать объект к указателю мыши.

Исходники
Посмотреть пример

Занятие 5

Цель:
Освоить основы движения объектов. Рассматриваются все свойства объекта MovieClip, обработка событий поступающих от клавиатуры. Проверка выхода за пределы экрана.

Исходники Flash
Посмотреть пример

Занятие 6

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

Исходники Flash
Посмотреть пример

Занятие 7-8

Цель:
Научиться организовывать сложное движение объекта, проверку столкновений с другими объектами, добавление и удаление объектов из библиотеки. В качестве задания дается нарисовать танк, который будет ездить по экрану. По нажатию на "пробел" танк должен стрелять. Здесь надо учитывать траекторию выстрела, нарисовать взрыв. Задание является итоговым.

Исходники Xara X
Посмотреть пример


Исходники ActionScrip:

onClipEvent (load) {
f=0;
px=0;
py=0;
live=1;
_root.attachMovie("mina","mina1",1);
_root.mina1._x=random(_root._width);
_root.mina1._y=random(_root._height);
}

onClipEvent (enterFrame) {
if (Key.isDown(Key.LEFT) && live) {
_root.tank._rotation-=10;
}
if (Key.isDown(Key.RIGHT) && live) {
_root.tank._rotation+=10;
}

if ((Key.isDown(Key.SPACE)) && (f==0)) {
with (_root) {
f++;
tank.attachMovie("t_shot","t1",1);
attachMovie("bomba","b1",2);
b1._rotation=_root.tank._rotation;
b1._x=tank._x-20*Math.sin(_rotation*Math.PI/180)/5;
b1._y=tank._y-20*Math.cos(_rotation*Math.PI/180)/5;
}
dist=0;

py=-100*Math.cos(_rotation*Math.PI/180)/5;
px=100*Math.sin(_rotation*Math.PI/180)/5;
}

if (Key.isDown(Key.up) && live) {
_root.tank._y+=-20*Math.cos(_rotation*Math.PI/180)/5;
_root.tank._x+=20*Math.sin(_rotation*Math.PI/180)/5;
}


// I?iaa?ea iaaoae ee oaie ia ieio
if (_root.tank,hitTest(_root.mina1))
{

_root.attachMovie("ex","e2",2);
_root.e2._x=_root.mina1._x;
_root.e2._y=_root.mina1._y;
removeMovieClip(_root.mina1);
_root.tank.attachMovie("death","tank1",1);

live=0;
}


if (f>0)
{
dist++;
_root.b1._x+=px;
_root.b1._y+=py;

if (dist==10)
{ f=0;
_root.b1.attachMovie("ex","e1",3);
}
}

}