Четверг, 19 Декабря 2024, 01:50

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как в GM сделать перерыв между выстрелами?
hasutinus1Дата: Среда, 25 Августа 2010, 15:25 | Сообщение # 1
был не раз
Сейчас нет на сайте
Помогите пожалуйста. Как сделать перерыв между выстрелами? (желательно без программирования)

KS

Сообщение отредактировал hasutinus1 - Среда, 25 Августа 2010, 15:26
Lex4990Дата: Среда, 25 Августа 2010, 16:30 | Сообщение # 2
почетный гость
Сейчас нет на сайте
как выстрел устроин, просто instance_create?
hasutinus1Дата: Среда, 25 Августа 2010, 16:38 | Сообщение # 3
был не раз
Сейчас нет на сайте
Lex4990, С помощью image_index. Куда объект повёрнут там и пуля создаётся. Добавил в событие нажатия пробела: если переменная равна значению, создаётся объект со скоростью и направлением.(только без скриптов)

KS
Lex4990Дата: Среда, 25 Августа 2010, 19:50 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Ты нажимаешь пробел и у тя пули залпом летят?
Тогда нужно в событие ставить не клавиша нажата... а просто где клавиатура.
Если нет, то используй будильник или таймер. Последнее я сам толком хз.
QWER56Дата: Среда, 25 Августа 2010, 21:12 | Сообщение # 5
старожил
Сейчас нет на сайте
Автар смени название темы но более информатировное.

Quote (hasutinus1)
Как сделать перерыв между выстрелами?

Вы хотите, что бы при зажатии клавиши между выстрелами были передышки?


ConsMark - поисковик по интернет магазинам.
hasutinus1Дата: Четверг, 26 Августа 2010, 09:18 | Сообщение # 6
был не раз
Сейчас нет на сайте
QWER56, Да

KS
XageuДата: Четверг, 26 Августа 2010, 17:50 | Сообщение # 7
Хадей - Друг Детей
Сейчас нет на сайте
Самый лёгкий способ - создай переменную, к примеру, attackspeed=10
Затем в событии кнопки выстрела: if attackspeed=10 then блаблабла(делаешь выстрел) and attackspeed=0
В Step надо прописать: if attackspeed!=10 then attackspeed+=1
Всё, теперь ты можешь менять промежуток между выстрелами меняя эти значения.


XPOHbДата: Четверг, 26 Августа 2010, 18:02 | Сообщение # 8
был не раз
Сейчас нет на сайте
Второй способ с таймером может быть более удобен тем, кто не хочет прибегать к большему количеству скриптов, заменяя их на одну единственную управляющую конструкцию.
Этот способ может быть реализован как с помощью GML, так и без него. В Create создаем переменную can_shoot и присваиваем ей значение 1 (или значение true, так как суть будет аналогичная. Я же использую циферный вариант, так как написать один символ проще, чем четыре, а работая с многими логическими операциями в общей сложности разница в количестве написанных символов будет достаточно велика). Так же, создаем переменную cooldown, присваивая ей, например, значение 5.
В событии нажатия пробела устанавливаем проверку переменной can_shoot и, если она равна 1, то присваиваем ей значение 0, задаем таймеру время, равное cooldown и создаем обьект пули. В событии таймера присваиваем can_shoot значение 1.
Скриптом это будет выглядеть так:
Code
if (can_shoot = 1) {
can_shoot =  0
alarm[0] = cooldown
instance_create(x,y,o_bullet)
}


Сообщение отредактировал XPOHb - Четверг, 26 Августа 2010, 18:03
MIKEL922Дата: Четверг, 26 Августа 2010, 19:45 | Сообщение # 9
заслуженный участник
Сейчас нет на сайте
Чего вы не слушаете человека, что он сказал
Quote (hasutinus1)
(желательно без программирования)
.
Вот


Нет не чего не возможного.
uncog.ru
XageuДата: Четверг, 26 Августа 2010, 19:53 | Сообщение # 10
Хадей - Друг Детей
Сейчас нет на сайте
желательно!=обязательно

MIKEL922Дата: Четверг, 26 Августа 2010, 19:58 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте
Но мой пример же без программирование!

Нет не чего не возможного.
uncog.ru
hasutinus1Дата: Четверг, 26 Августа 2010, 20:10 | Сообщение # 12
был не раз
Сейчас нет на сайте
MIKEL922, Спасибо, если бы ещё время задержки можно было менять и при зажатии пробела стрелять пока
не отпущу smile


KS

Сообщение отредактировал hasutinus1 - Четверг, 26 Августа 2010, 20:10
MIKEL922Дата: Четверг, 26 Августа 2010, 20:52 | Сообщение # 13
заслуженный участник
Сейчас нет на сайте
это я уже не знаю

Нет не чего не возможного.
uncog.ru
XPOHbДата: Четверг, 26 Августа 2010, 21:07 | Сообщение # 14
был не раз
Сейчас нет на сайте
hasutinus1, Мой способ вам отлично подходит. Меняйте переменную cooldown нужными клавишами (или как Вы сами захотите) и время задержки будет меняться.
В событии нажатия клавиши "1" пропишите
Code
cooldown = (нужное значение)
  • Страница 1 из 1
  • 1
Поиск:

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