В этом кратком совете вы узнаете технику условного движения противника, основанную на классическом враге из классной игры. Лицо призрака, и он замерзает; отвернитесь и он придет за вами.
Окончательный результат предварительного просмотра
Давайте посмотрим на конечный результат, к которому мы будем стремиться:
Используйте левую и правую клавиши со стрелками для перемещения. Ходьба была упрощена ради этого Quick Tip.
Шаг 1: Краткий обзор
Игрок и враг будут размещены на экране, игрок будет управляться с помощью клавиш со стрелками влево и вправо, а противник будет реагировать на положение и ориентацию игрока.
Шаг 2: Настройте файл Flash
Запустите Flash и создайте новый Flash-документ, установите размер сцены 320x200px и частоту кадров 24fps.
Шаг 3: Интерфейс
Это интерфейс, который мы будем использовать, простые формы и цвета, чтобы воссоздать это поведение.
Преобразуйте персонажей в видеоклипы и назовите их призраком и игроком .
Шаг 4: ActionScript
Создайте новый класс ActionScript (Cmd + N), сохраните файл как Main.as и напишите следующие строки, пожалуйста, прочитайте комментарии в коде, чтобы полностью понять поведение класса.
01
02
03
04
05
06
07
08
09
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
package
{
import flash.display.Sprite;
import flash.events.KeyboardEvent;
import flash.events.Event;
public final class Main extends Sprite
{
public final function Main():void
{
addListeners();
}
private final function addListeners():void
{
stage.addEventListener(KeyboardEvent.KEY_DOWN, movePlayer);
stage.addEventListener(Event.ENTER_FRAME, follow);
}
private final function movePlayer(e:KeyboardEvent):void
{
if(e.keyCode == 37) //move left if left arrow key is pressed
{
player.x -= 4;
player.rotationY = 180;
}
else if(e.keyCode == 39) //move right if right arrow key is pressed
{
player.x += 4;
player.rotationY = 0;
}
}
private final function follow(e:Event):void
{
/* Right side */
if(player.rotationY == 0 && player.x > ghost.x)
{
ghost.x += 0.4;
ghost.y += 0.4;
ghost.alpha = 1;
ghost.rotationY = 0;
}
else if(player.rotationY == 180 && player.x > ghost.x) //if the player looks at the ghost
{
ghost.alpha = 0.5;
}
/* Left side */
if(player.rotationY == 180 && player.x < ghost.x)
{
ghost.x -= 0.4;
ghost.y += 0.4;
ghost.alpha = 1;
ghost.rotationY = 180;
}
else if(player.rotationY == 0 && player.x < ghost.x) //if the player looks at the ghost
{
ghost.alpha = 0.5;
}
/* Stop Y if ghost is near floor */
if(ghost.y >= 165)
{
ghost.y = 165;
}
}
}
}
|
Шаг 5: Класс документа
Добавьте имя класса в поле « Класс» в разделе « Публикация » на панели « Свойства», чтобы связать FLA с классом основного документа .
Вывод
Вы освоили простую и полезную технику передвижения противника, попробуйте ее в своих собственных играх!
Надеюсь, вам понравился этот урок, спасибо за чтение!