Приветствую Вас, Гость | RSS
Суббота, 27.02.2021, 10:34
Главная » Статьи » Уроки [ Добавить статью ]

Как создать компьютерных оппонентов и научить их стрелять.
Приветствую. Многие при первом знакомстве с Game Makero’ом сразу же загораются желанием создать какую-нибудь стрелялку или платформер. Но ни то, ни другое не получится интересным без наличия разнообразных (или не очень) и достаточно «умных» врагов. В этой статье я расскажу, как добавить в игру таких врагов. Для примера возьмём рассмотренную в одной из предыдущих статей танковую пострелушку. В нашей игре пока есть только танк (зато умеющий «правильно» ездить) и пара скриптов. Создайте спрайт для вражеского танка (предлагаю просто дублировать спрайт игрока, и через Edit Sprite=>images=>colorize перекрасить его в другой цвет). Присвойте спрайт объекту врага, и в событие Step вставьте скрипт поворота.
Теперь создайте скрипт следующего содержания:

if instance_exists(player) {
if point_distance(x, y,player.x, player.y) < 150 {
move_towards_point(player.x-100, player.y-100,2);
if speed=0 {direction=player.direction-180 }
}
}
и также вставьте его в событие Step. Этот скрипт делает так, чтобы ваш враг если вы к нему приблизитесь начал догонять вас, и если расстояние между вами и противником стало равно 100 пикселам остановится. Если вы запустите игру то увидите, что всё прекрасно работает, но это ещё не готовая игра, ваши враги ещё не стреляют, а какая же это тогда стрелялка. Но сначала нужно научить стрелять ваш танк. Создайте спрайт пули и присвойте его соответствующему объекту. Сразу поставьте в событие Colizion (столкновение), в выпадающем списке выбрав объект противника, действие Destroy the instance. В открывшемя окне выберите пункт Other. В событие Create поставьте кусок кода, в котором напишите:

direction=wrag.direction;
speed=5;

Теперь откройте объект танка игрока и в событии Keyboard=>Space поставьте действие Create instance of object, в поле object выберите объект пули. Закройте объект игрока, и откройте противника. Опять же в действии Step вставьте действие if variable has a value, в поле variable укажите speed, а в поле value поставьте 0. Третье поле оставьте неизменным, по умолчанию там должно значится equal to. Это действие проверяет значение переменной, значение указанное в поле variable означает саму переменную, которая может быть глобальной или объектной, а в поле value вводится значение этой переменной. На закладке Control есть два действия: Start of a block и End of a block поставьте их действия проверки переменной. Между ними вставьте действие Set an Alarm clock (иконка с часиками) и установите его на 30 в Alarm 0. Теперь переходите в событие Alarm 0. Туда скопируйте действие создания пули из объекта танка игрока, а ниже скопируйте действие установки часов из события Step. Если вы ещё не поставили в комнате объекты танков то сделайте это, и можете смело запускать игру.
Категория: Уроки | Добавил: RagnaRock (31.05.2010)
Просмотров: 823 | Комментарии: 1 | Рейтинг: 0.0/0
Всего комментариев: 1
#0 написал: (20.11.2010)
Классно!!! :D

--------------------
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2021 |