Пятница, 19 Апреля 2024, 14:13

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Alarm помогите! Сложный вопрос.
Alarm помогите! Сложный вопрос.
RomaN72Дата: Суббота, 30 Августа 2014, 21:13 | Сообщение # 1
частый гость
Сейчас нет на сайте
Есть два объекта : zombie, player.

Step у zombie :

if collision_rectangle(zombie.x-8,zombie.y-32,zombie.x+32,zombie.y+64,player,1,1)
{
kont=true
go=false
}

if (not collision_rectangle(zombie.x-8,zombie.y-32,zombie.x+32,zombie.y+64,player,1,1))
{
kont=false
go=true
la=false
}

if kont=true and la=false
{
alarm[1]=10
}

Alarm[0] у zombie:

if kont=true
{
global.hp-=5
alarm[1]=30
la=true
}

Теперь поясняю в чем проблема. Когда зомби столкнулся с игроком, он должен немного подождать перед атакой (для этого запускается Alarm), после ожидания он атакует , и если он все еще контактирует с игроком , то его атаки превращаются в цикл пока он не перестанет контактировать с игроком.

Но не тут то было! Когда он сталкивается с игроком аларм идет бесконечно - то есть стоит на месте(на цифре 10)

Как сделать , чтобы аларм не стоял на месте?

+ в репу тому гению , кто решит эту проблему)


SaiteiДата: Суббота, 30 Августа 2014, 22:20 | Сообщение # 2
старожил
Сейчас нет на сайте
Цитата RomaN72 ()
то есть стоит на месте(на цифре 10)

Просто он каждый раз перезапускается.
MrSlapДата: Воскресенье, 31 Августа 2014, 01:56 | Сообщение # 3
почетный гость
Сейчас нет на сайте
RomaN72, просто сделай переменную для отсчёта таймера. Допустим: изначально переменная al=10
А когда она срабатывает в первый раз, то в таймере можно написать,
if al=10 al=30
а в зомби ещё добавить код, что когда он не рядом с игроком - эта самая al снова равно 10.
Например.


Создаю интерактивную повесть.
XDominatorДата: Воскресенье, 31 Августа 2014, 15:48 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Заменить
Код

if kont=true and la=false  
{  
alarm[1]=10  
}  


на

Код
if kont=true and la=false  
{  
alarm[1]=10
kont=false
la=true  
}


суть в том что нужно запрещать пересоздавать alarm с помощью дополнительных переменнгых-блокираторов, в твоем случае я так понял это kont и la? Понятия не имею что они значат, но как то так


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
RomaN72Дата: Воскресенье, 31 Августа 2014, 18:18 | Сообщение # 5
частый гость
Сейчас нет на сайте
Доминатор помог, спасибо.

Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Alarm помогите! Сложный вопрос.
  • Страница 1 из 1
  • 1
Поиск:

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