Вторник, 26 Ноября 2024, 10:07

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как заставить его стрелять
ZavelonДата: Вторник, 21 Августа 2012, 23:15 | Сообщение # 1
частый гость
Сейчас нет на сайте
Делаю 2D платформер. Врага надо заставить стрелять когда он видит игрока. Стрельба должна быть влево в право...
Помогите сделать такого врага.
ЭтоЧудоИзЧудесДата: Вторник, 21 Августа 2012, 23:21 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Проверяешь по иксу: если икс игрока больше, чем икс врага, то враг поворачивается вправо, если меньше - влево; в зависимости от направления он в определенные промежутки времени выпускает пулю, летящую вправо/влево, если дистанция до игрока меньше определенной.
Если справку читал, то по алгоритму все сделать можно без проблем.


Велосипед никто не купил. Зол. Скоро начну рвать и метать.
SaladinДата: Вторник, 21 Августа 2012, 23:28 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Quote (ЭтоЧудоИзЧудес)
Проверяешь по иксу: если икс игрока больше, чем икс врага, то враг поворачивается вправо, если меньше - влево; в зависимости от направления он в определенные промежутки времени выпускает пулю, летящую вправо/влево, если дистанция до игрока меньше определенной.
Если справку читал, то по алгоритму все сделать можно без проблем.

eek
Ну я реально в шоке. Ты случайно вкусной едой не отравился? smile


Анбаннэд. Хэлоу эгин =)

Сообщение отредактировал Saladin - Вторник, 21 Августа 2012, 23:28
igrodel500Дата: Вторник, 21 Августа 2012, 23:41 | Сообщение # 4
участник
Сейчас нет на сайте
Сделай так. (Попробуй)
Глобальная левая кнопка мыши нажата:
GLobal Left Pressed:
С боку в разделе main1 на самом верху есть.
Create Moving:
object: объект пули
x: x
y: y
speed: как тебе угодно
direction: любое значение или direction


ЭтоЧудоИзЧудесДата: Вторник, 21 Августа 2012, 23:43 | Сообщение # 5
заслуженный участник
Сейчас нет на сайте
Quote (Saladin)
Ну я реально в шоке. Ты случайно вкусной едой не отравился?

А в чем дело? Если морда зеленая, так это с рождения так.


Велосипед никто не купил. Зол. Скоро начну рвать и метать.
igrodel500Дата: Среда, 22 Августа 2012, 00:02 | Сообщение # 6
участник
Сейчас нет на сайте
Ой не правильно прочитал вопрос.



Сообщение отредактировал igrodel500 - Среда, 22 Августа 2012, 00:06
SkmaestroДата: Среда, 22 Августа 2012, 12:10 | Сообщение # 7
участник
Сейчас нет на сайте
Вопрос очень сложной, я даже не очень его понял.
Но если ты хочешь чтобы враг как только видел тебя стрелял в тебя где бы ты не был слева,справа,сверху,снизу и т.д

В главного персонажа на создания кидаешь скрипт

в step главного персонажа кидаешь

timer[0] - у врага создаешь и внутри кидаешь код



код на работоспособность я не проверял, писал прямо на форуме, еще нужно дописать коешто (если к игроку нет препятствий и т.д


Помог поставь +
Проект DeadWorldZ пока заморожен иными словами разрабатывается скрытно
Skype: Skmaestro867


Сообщение отредактировал Skmaestro - Среда, 22 Августа 2012, 12:15
ЭтоЧудоИзЧудесДата: Среда, 22 Августа 2012, 12:20 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Quote (Skmaestro)
Вопрос очень сложной, я даже не очень его понял.

Что в вопросе-то было сложного? Тут нужен минимальный уровень познаний.


Велосипед никто не купил. Зол. Скоро начну рвать и метать.
SkmaestroДата: Среда, 22 Августа 2012, 12:28 | Сообщение # 9
участник
Сейчас нет на сайте
Врага надо заставить стрелять когда он видит игрока. Стрельба должна быть влево в право...
Как это понять?
Можно же по разному,
чтобы каждую мсек он поворачивался влево,вправо и стрелял или так как я написал)


Помог поставь +
Проект DeadWorldZ пока заморожен иными словами разрабатывается скрытно
Skype: Skmaestro867
GameMixДата: Среда, 22 Августа 2012, 14:55 | Сообщение # 10
старожил
Сейчас нет на сайте
Quote (Skmaestro)
Врага надо заставить стрелять когда он видит игрока.

collision_line() и все получится smile


Steel Standoff - 2D аркада.
Мои статьи
MaxaonДата: Среда, 22 Августа 2012, 19:40 | Сообщение # 11
участник
Сейчас нет на сайте
Code
В Step'e врага.
if distance_to_object(player)<100500
{if x<player.x
sprite_index=sprite1 //поворачиваем спрайт врага в нужную сторону
instance_create(x + lengthdir_x(77,direction+8),y + lengthdir_y(77,direction+8),pul)
//можешь также сделать англами или скалями, это см. выше
else
sprite_index=sprite2 //поворачиваем в другую сторону
instance_create(x + lengthdir_x(77,direction-8),y + lengthdir_y(77,direction-8),pul)

Create in "pul":
move_towards_point(player.x,player.y,30)
Step in "pul":
image_angle=direction


Следует учесть, здесь просто выстрел без проверок есть ли препятствие.
Здесь также нет прокрутки анимации и прочее. Это можно дописать 2 строками.
Думаю тут есть люди которые не нуждаюся и в написании этого
SkmaestroДата: Пятница, 24 Августа 2012, 20:02 | Сообщение # 12
участник
Сейчас нет на сайте
Quote (GameMix)
collision_line() и все получится

Quote (Skmaestro)
еще нужно дописать коешто (если к игроку нет препятствий и т.д)

это не одно и тоже? хм


Помог поставь +
Проект DeadWorldZ пока заморожен иными словами разрабатывается скрытно
Skype: Skmaestro867


Сообщение отредактировал Skmaestro - Пятница, 24 Августа 2012, 20:02
Shevron_7Дата: Пятница, 24 Августа 2012, 23:44 | Сообщение # 13
маньяк-бомбист
Сейчас нет на сайте
А не проще найти уже готовый ИИ врага. Таких примеров/исходников сейчас дофига.

TEST =>
Мои игры:
Kill your brain
Space Conflict
Zombie Day
Bounce PC
Extra ball 2012

Это спасибо в карман не положишь, а в репутацию можно. +1
MaxaonДата: Суббота, 25 Августа 2012, 00:32 | Сообщение # 14
участник
Сейчас нет на сайте
Shevron_7, Только опытному этот варинат подходит
т.к. для них это механическая работа, а вот для новичков умственная.
Так, что пускай голову поломают, а не спрашивают готовое решение.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг