В этом кратком совете вы узнаете технику условного движения противника, основанную на классическом враге из классной игры. Лицо призрака, и он замерзает; отвернитесь и он придет за вами.
Окончательный результат предварительного просмотра
Давайте посмотрим на конечный результат, к которому мы будем стремиться:
Используйте левую и правую клавиши со стрелками для перемещения. Ходьба была упрощена ради этого 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 с классом основного документа .
Вывод
Вы освоили простую и полезную технику передвижения противника, попробуйте ее в своих собственных играх!
Надеюсь, вам понравился этот урок, спасибо за чтение!


