On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru






 

Игра стрелялка

Автор: © Furrer

Во Flash, выберите File > Open, и затем откройте файл GameSample.fla который вы скачали.

Выберите Window > Library или ctrl+L, чтобы открыть библиотеку символов.

Окно библиотеки содержит два символа и один мувиклип. Графический символ "Spaceship" - космический кораблик именно его мы и будем подбивать :). "HitArea" - простой прицел. Мувиклип "Drag" мы будем использовать для замены стандартного курсора нашим прицелом.

1.Перенесите мышкой из библиотеки на главную сцену мувиклип "Drag" .

2. Выделите прицел, просто кликнете по нему, и нажмите Ctrl+I. В появившемся окошке в поле Name введите Drag.

Теперь прицел имеет имя "Drag".
Далее правый клик по первому фрэйму и из выпадающего списка выберете Actions.

Перед вами должно появится окошко Frame Actions. Cкопируйте приведённый ниже код и вставьте в Actions:

Mouse.hide();
startDrag ("Drag", true);


Mouse.hide(); - отключает отображение курсора мыши в клипе.
startDrag ("Drag", true); - Команда делает мувиклип перетаскиваемым. В нашем случае мувиклип называется Drag именно такое имя мы и задали нашему прицелу.

Проверьте всё ли работает, просто жмём Ctrl+Enter. За место стандартного курсора у вас должна появится мишень.


Создайте новый мувиклип(Insert -> New Sybmol или Ctrl+F8), назовите его ShipMove.

Теперь перенесите графический символ "Starship" в только, что созданный мувиклип "ShipMove".

Далее правый клик по кораблику, выберете Panels->Instance. В появившемся окошке из выпадающего списка Behavior выберете Movie Clip.

Опять правый клик по кораблику, выберете Actions.
Вставьте этот код:

onClipEvent (mouseDown) {
if (this.hitTest(_root.Drag)) {
_parent.gotoAndplay(2);
}
}
onClipEvent (enterFrame) {
x = x+10;
_root.spaceship._x = x;
if (x>=580) {
x = 0;
}
}


onClipEvent (mouseDown) -Инициализация команд при нажатии левой кнопки мыши.

this.hitTest(_root.Drag) - вычисляет пересекаются ли границы символа Drag(имя прицела) и кораблика. Если пересекаются то переходим о второй фрэйм_parent.gotoAndplay(2);

onClipEvent (enterFrame) -Инициализация команд в каждом воспроизводимом кадре, так, как если бы они были прописаны в каждом кадре мувиклипа.

_root.spaceship._x = x; - устанавливает x-координату клипу starship(такое имя мы дадим мувиклипу ShipMove, когда переместим его на главную сцену).

if (x>=580) {
x = 0;
- Если x>=580, то есть кораблик улетел за область экрана(наша сцена 550 px), то возвращаем его назад - x=0;

Теперь правый клик по первому фрэйму, выберете Actions и введите Stop(); . Правый клик по второму фрэйму Insert Blank KeyFrame. Опять правый клик по второму фрэйму -> Actions и добавьте:

_root.spaceship._x = 0;

_root.spaceship._y = random(200)+100;

gotoAndPlay (1);

 _root.spaceship._x = 0; - устанавливает x-координату клипу starship.

_root.spaceship._y = random(200)+100; - устанавливает y-координату клипу starship, где Random(200)- генератор случайных чисел(диапазон 0..200)

Перенесите мувиклип MoveShip на главную сцену, задайте ему имя(Ctrl+I) Spaceship.
Всё, игра почти готова. Запустите мувик(Ctrl+Enter). При нажатии на летящий кораблик, он просто пропадает, Давайте прилепим простой эффектик. Перейдите в мувклип ShipMove во второй фрэйм и из библиотеки перетащите символ Spaceship, затем кнопкой F5 добавьте 18 фрэймов.

Правый клик по двадцатому фрэйму -> Insert Keyframe, затем жмём ctrl+alt+I. В появившемся окошке выберете закладку Transform. Введите в поля "Увеличение по горизонтали" и "Увеличение по вертикали" за место 100% - 0.

Правый клик по второму фрэйму ->Create Motion Tween. Затем, код в Actions для второго фрэйма переместите в двадцатый, а во втором фрэйме удалите код.



Литература по FLASH