Пятница, 08 Ноября 2024, 13:29

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Время вылета пути!
VAsKAДата: Пятница, 27 Марта 2015, 21:34 | Сообщение # 1
частый гость
Сейчас нет на сайте
Всем привет!
Помогите пожалуйста ,ни как не могу сделать:время вылета пули.
У меня есть игрок , который стреляет шариками.Один клик кнопкой один выстрел. Можно нажимать, как бешеный и шариков тоже будет много.Как сделать время между этими выстрелами?К примеры 5 сек между выстрелами, в независимости от нажатий на кнопку?
Или, так сказать интервал между пулями.


Сообщение отредактировал VAsKA - Пятница, 27 Марта 2015, 21:43
EfimovMaxДата: Пятница, 27 Марта 2015, 21:47 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Заведи переменную IsShot. При выстреле (нажатие мыши) присваивай ей значение false и ставь таймер (alarm[0]=30). В самом аларме пропиши IsShot=true
Соответственно, когда игрок нажимает на мышь, проверяй значение IsShot. Если true, то стреляй.


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris


Сообщение отредактировал EfimovMax - Пятница, 27 Марта 2015, 21:48
VAsKAДата: Пятница, 27 Марта 2015, 22:21 | Сообщение # 3
частый гость
Сейчас нет на сайте
EfimovMax, Пробовал и так и эдак но ничего не поменялось.И почему именно IsShot?
LunarPixelДата: Пятница, 27 Марта 2015, 22:35 | Сообщение # 4
старожил
Сейчас нет на сайте
В событии клика:

Код
if alarm[0]=-1
{
создаем пулю

alarm[0]=room_speed*1 //интервал в 1 секунду
}


В событии Alarm 0:

Код
//просто какой-нибудь комментарий


EfimovMaxДата: Пятница, 27 Марта 2015, 22:39 | Сообщение # 5
заслуженный участник
Сейчас нет на сайте
Цитата VAsKA ()
Пробовал и так и эдак но ничего не поменялось.

Собственно, Лунар дал тебе более простой способ.
Цитата VAsKA ()
И почему именно IsShot?

Да без разницы как. Первое, что придумал.


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris
YellowAfterlifeДата: Пятница, 27 Марта 2015, 22:53 | Сообщение # 6
Сейчас нет на сайте
Вариант без alarm'ов:
Цитата

Information about object: obj_player
Sprite: <no sprite>
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent: <no parent>
Mask: <same as sprite>
Create Event:
set variable cooldown to 0

Step Event:
set variable cooldown relative to -1

Mouse Event for Glob Left Button:
if cooldown is smaller than 1
. . start of a block
. . set variable cooldown to 10
. . create instance of object obj_bullet at relative position (0,0) with speed 4 in direction point_direction(x, y, mouse_x, mouse_y)
. . end of a block
"cooldown" используется как таймер до возможности следующего выстрела.


VAsKAДата: Суббота, 28 Марта 2015, 16:16 | Сообщение # 7
частый гость
Сейчас нет на сайте
LunarPixel, EfimovMax, Все перепробовал.не выходит ничего.Вот исходник Вот посмотрите укажите на ошибки.

Сообщение отредактировал VAsKA - Суббота, 28 Марта 2015, 16:16
EfimovMaxДата: Суббота, 28 Марта 2015, 16:30 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
В игроке в событии мыши:
Код

if alarm[0]=-1   
     {   
     instance_create(x,y,obj_bul)
     alarm[0]=room_speed*1
     }


instance_create - это создание объекта (в твоём случае пули). Ты его вынес за блок If зачем-то, соответственно, условие на выстрел (if alarm[0]=-1 ) не выполнялось.


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris


Сообщение отредактировал EfimovMax - Суббота, 28 Марта 2015, 16:31
ИнтернетДата: Суббота, 28 Марта 2015, 16:37 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
ну или так https://yadi.sk/d/ZaC-iNijfaVY5
VAsKAДата: Суббота, 28 Марта 2015, 21:00 | Сообщение # 10
частый гость
Сейчас нет на сайте
EfimovMax, LunarPixel, Спасибо за помощь!И за понятные объяснения. Разобрался!

Сообщение отредактировал VAsKA - Суббота, 28 Марта 2015, 21:02
  • Страница 1 из 1
  • 1
Поиск:

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