Автор: © 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
|