div.main {margin-left: 20pt; margin-right: 20pt}
Игра стрелялка
Скачайте Fla-файл,
с ним мы и будем
работать.
Во 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 для второго
фрэйма переместите в
двадцатый, а во втором
фрэйме удалите код.
Скачать
исходник.
Пожелания, замечания
пишите на e-mail
(c)
Furrer 2001
Автор: © Furrer Источник:
http://www.flashl.dax.ru/
|