Суббота, 20 Апреля 2024, 10:44

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » еще один вопрос (нубячии)))))
еще один вопрос
БатлфилдерДата: Вторник, 21 Июня 2011, 15:09 | Сообщение # 1
почетный гость
Сейчас нет на сайте
подскажите плиз, я сделал в GM событие к герою "Press Up" и туда добавил событие vspeed = -12 (для прыжка) и "Release Up" с событием vspeed = 0. Когда запускаю, если нажать несколько раз он делает двойные, тройные прыжки (в зависимости сколько раз нажал на прыжок). Как от такого избавится?

Извиняюсь если вопрос тупой, или если он много раз поднимался на форуме.





LunarPixelДата: Вторник, 21 Июня 2011, 15:21 | Сообщение # 2
старожил
Сейчас нет на сайте
Code
if !position_empty(x,y+1) //если под обектом что то есть
vspeed = -12 // тогда прыгаем


Соответственно в прыжке, если ничего под объектом нет, то он прыгать не будет.
P.S. значение y+1 возможно нужно будет изменить в зависимости от высоты спрайта, т.е. если спрайт высотой 32, то пиши y+33 (32+1)

Можно заменить условие на
position_meeting(x,y+1,obj_wall)
Тогда будет проверяться, если ли под героем конкретный объект, т.е. в данном случае объект являющейся поверхностью по которой герой бегает.


БатлфилдерДата: Четверг, 23 Июня 2011, 11:33 | Сообщение # 3
почетный гость
Сейчас нет на сайте
спс, лови +

Добавлено (23.06.2011, 11:33)
---------------------------------------------
еще один вопрос. как сделать healthbar над игроком
с меня +





LunarPixelДата: Четверг, 23 Июня 2011, 11:53 | Сообщение # 4
старожил
Сейчас нет на сайте
В событии DRAW пиши:
draw_healthbar(hero.x,hero.y,hero.x+100,hero.y+16,health,c_blue,c_red,c_green,0,0,0)

К координатам прибавляй/отнимай значения, чтобы регулировать позицию healthbar'a относительно героя.


БатлфилдерДата: Четверг, 23 Июня 2011, 13:16 | Сообщение # 5
почетный гость
Сейчас нет на сайте
чето посмотрел и подумал, а можно лучше, чтоб в углу экрана ХБ был

Добавлено (23.06.2011, 13:16)
---------------------------------------------
еще кое что. как сделать так, чтоб если я одного NPC уничтожу, не уничтожались остальные. пробовал это:

Quote
Столкновение пули с врагом:
with other
health_enemy-=10

но не помогло(((

исходник:





GameMixДата: Четверг, 23 Июня 2011, 13:33 | Сообщение # 6
старожил
Сейчас нет на сайте
Quote (Батлфилдер)
чето посмотрел и подумал, а можно лучше, чтоб в углу экрана ХБ был

Тогда запиши код так:

В событии Create (Создание) объекта игрока:
Code
life = 100;

В событии Draw (Рисование) объекта игрока:
Code
draw_sprite_(sprite_index,image_index,x,y);
draw_healthbar(0,0,120,14,life,c_red,c_red,c_blue,0,0,0);

Добавлено (23.06.2011, 13:33)
---------------------------------------------

Quote (Батлфилдер)
еще кое что. как сделать так, чтоб если я одного NPC уничтожу, не уничтожались остальные. пробовал это:

Не нашёл в твоём исходнике такой код, но попробуй двумя способами:

1) В событии столкновения с врагом (в объекте пули):
Code
other.health_enemy-=10;

2) В событии столкновения с пулей (в объекте врага):
Code
self.health_enemy-=10;


Steel Standoff - 2D аркада.
Мои статьи
БатлфилдерДата: Четверг, 23 Июня 2011, 13:35 | Сообщение # 7
почетный гость
Сейчас нет на сайте
в image index и x,y что писать (x, y - координаты чего??)




GameMixДата: Четверг, 23 Июня 2011, 13:40 | Сообщение # 8
старожил
Сейчас нет на сайте
x и y - координаты ТЕКУЩЕГО объекта по оси X и Y. Я написал: "в объекте игрока", т.е. текущий объект - игрок, значит x и y - координаты игрока.

image_index - номер кадра спрайта игрока. Лучше писать именно это вместо цифры, когда у игрока есть анимация smile


Steel Standoff - 2D аркада.
Мои статьи


Сообщение отредактировал аТнОтХоАн - Четверг, 23 Июня 2011, 13:40
kasheyДата: Четверг, 23 Июня 2011, 17:49 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Quote (Батлфилдер)
если я одного NPC уничтожу, не уничтожались остальные.


if hp<=0
with self instance_destroy()
NeZnayuДата: Четверг, 23 Июня 2011, 17:57 | Сообщение # 10
__танцуй!__
Сейчас нет на сайте
with self instance_destroy()

"with self" тут не обязателен, вызов функции instance_destroy() подразумевает ее отношение к текущему экземпляру объекта.


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
kasheyДата: Четверг, 23 Июня 2011, 18:05 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
Да, так и есть. Мне почему то казалось что функция удаляет все экземпляры обьекта.
БатлфилдерДата: Четверг, 23 Июня 2011, 21:55 | Сообщение # 12
почетный гость
Сейчас нет на сайте
Прописал так
В Степ:
Quote
if health < 0
{
instance_destroy()
}


но все равно((
с with order тоже также((

Добавлено (23.06.2011, 21:14)
---------------------------------------------
ааа ненадо уже все сделал

Добавлено (23.06.2011, 21:55)
---------------------------------------------
еще один вопрос. я в create у героя написал experience=0. как мне сделать его в игре в виде healthbar.





LunarPixelДата: Четверг, 23 Июня 2011, 22:00 | Сообщение # 13
старожил
Сейчас нет на сайте
draw_healthbar(x1,y1,x2,y2,experience,c_blue,c_red,c_green,0,0,0)

Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » еще один вопрос (нубячии)))))
  • Страница 1 из 1
  • 1
Поиск:

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