Четверг, 25 Апреля 2024, 14:57

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » global.hp
global.hp
m1razДата: Пятница, 22 Июля 2011, 17:27 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Как сделать данную вещь. Если global.hp=0 игра заканчивается.

Всех задир буду вычеслять по IP!
ilya7834Дата: Пятница, 22 Июля 2011, 17:31 | Сообщение # 2
Работаю на Irrlicht Engine
Сейчас нет на сайте
в гм уже есть переменная health назначай, проверяй и отображай с помощью кнопок

На синем небе
Попробуй-ка разглядеть
Синюю звезду
DerPoolДата: Пятница, 22 Июля 2011, 17:31 | Сообщение # 3
частый гость
Сейчас нет на сайте
в степ
if global.hp = 0 {game_end()}
вроде так!




Сообщение отредактировал DerPool - Пятница, 22 Июля 2011, 17:33
ilya7834Дата: Пятница, 22 Июля 2011, 17:32 | Сообщение # 4
Работаю на Irrlicht Engine
Сейчас нет на сайте
опоздал)

На синем небе
Попробуй-ка разглядеть
Синюю звезду
DerPoolДата: Пятница, 22 Июля 2011, 17:33 | Сообщение # 5
частый гость
Сейчас нет на сайте
жаль

MrBigBillДата: Пятница, 22 Июля 2011, 18:00 | Сообщение # 6
частый гость
Сейчас нет на сайте
Quote (m1raz)
Как сделать данную вещь. Если global.hp=0 игра заканчивается.

не используй глобальные переменные для такое ерунды. Они тормозить игру начнут. Замени global.hp на health и делай так:
Code
if health = 0 game_end()

Или лучше вместо game_end используй room_restart ()(перезапуск комнаты) или game_restart ()(перезапуск игры)


Уроки по GM+39DLL.
Brute_ForceДата: Пятница, 22 Июля 2011, 18:30 | Сообщение # 7
был не раз
Сейчас нет на сайте
Quote (MrBigBill)
if health = 0 game_end()

По правилам хорошего тона после иф используют сравнение а не присваивание.
LgunchikДата: Пятница, 22 Июля 2011, 19:27 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
Code
if health <= 0 game_end()

так будет лучше
потому что если у тебя осталось 1 хп и тебе отнимают 5 хп то переменная так и не становиться 0 и игра не заканчивается))


>
MrBigBillДата: Пятница, 22 Июля 2011, 19:51 | Сообщение # 9
частый гость
Сейчас нет на сайте
Quote (Brute_Force)
По правилам хорошего тона после иф используют сравнение а не присваивание.

Quote (Lgunchik)
так будет лучше

Знаю, просто в попыхах писал.


Уроки по GM+39DLL.
MyACTДата: Понедельник, 15 Августа 2011, 07:05 | Сообщение # 10
C# CODERS
Сейчас нет на сайте
А это для моба или для ГГ?
Если для ГГ то в стэп пиши
Code

if health <= 0 game_end()

Если для моба то
Code

if global.hp<= 0 game_end()

Кстати а зачем ты глобальные используешь?Использовал бы hp_mob или прсто hp

Добавлено (15.08.2011, 07:05)
---------------------------------------------
А это для моба или для ГГ?
Если для ГГ то в стэп пиши

Code

if health <= 0 game_end()

Если для моба то
Code

if global.hp<= 0 game_end()

Кстати а зачем ты глобальные используешь?Использовал бы hp_mob или прсто hp


3дэшечки: https://sketchfab.com/myactyindie
Курентли воркс он: https://myacty.itch.io/raskopnik
Dva_KotaДата: Понедельник, 15 Августа 2011, 16:12 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте
А еще лучше поставить это не в степ, а туда, где изменяется переменная health (например в столкновение с врагом).

Новый пример инвентаря! /20.06.2012/

Energy Wars
MyACTДата: Вторник, 16 Августа 2011, 05:23 | Сообщение # 12
C# CODERS
Сейчас нет на сайте
Quote
А еще лучше поставить это не в степ, а туда, где изменяется переменная health (например в столкновение с врагом)

А как тогда обозначить что при health<=0 спрайт смерти игрока по твоему?
А при столкновений надо делать отнимание health


3дэшечки: https://sketchfab.com/myactyindie
Курентли воркс он: https://myacty.itch.io/raskopnik


Сообщение отредактировал MyACT - Вторник, 16 Августа 2011, 05:54
LunarPixelДата: Вторник, 16 Августа 2011, 08:56 | Сообщение # 13
старожил
Сейчас нет на сайте
Quote (MyACT)
А как тогда обозначить что при health<=0 спрайт смерти игрока по твоему?

Элементарно... smile Там, где отнимаются жизни пишем:
if health<=0
obj_hero.sprite_index=spr_dead


Так скажем, не во всех ситуациях это лучше, но, как я понял Dva_Kota просто предлагает таким образом избегать проверок каждый шаг smile


Dva_KotaДата: Вторник, 16 Августа 2011, 09:14 | Сообщение # 14
заслуженный участник
Сейчас нет на сайте
Quote (MyACT)
как я понял Dva_Kota просто предлагает таким образом избегать проверок каждый шаг

Именно да.

Например :

у игрока при столкновении с врагом (аналогичный код нужно поставить там где еще происходит изменение здоровья
Code
health -=10;
if health<=0
sprite_index=spr_dead;


в событии конец анимации
Code

if sprite_index==spr_dead
room_restart();


Новый пример инвентаря! /20.06.2012/

Energy Wars


Сообщение отредактировал Dva_Kota - Вторник, 16 Августа 2011, 09:15
MyACTДата: Вторник, 16 Августа 2011, 10:34 | Сообщение # 15
C# CODERS
Сейчас нет на сайте
Quote
Элементарно... Там, где отнимаются жизни пишем:
if health<=0
obj_hero.sprite_index=spr_dead

LunarPixel, Я это знаю я спрашиваю Dva_Kota, потому-что как при столкновений с НПС можно обозначить спрайт смерти?

Добавлено (16.08.2011, 10:34)
---------------------------------------------

Quote
health -=10;
if health<=0
sprite_index=spr_dead;

Dva_Kota, и так надо будет писать каждый раз когда делаешь моба


3дэшечки: https://sketchfab.com/myactyindie
Курентли воркс он: https://myacty.itch.io/raskopnik
LunarPixelДата: Вторник, 16 Августа 2011, 10:44 | Сообщение # 16
старожил
Сейчас нет на сайте
MyACT, разница в том, что если моб всего один, или для всех мобов есть один родительский объект, то этот способ будет более производительным, так как лишние проверки не будут каждый шаг выполняться. smile
Да и код этот для разных мобов можно в один скрипт записать и его прописывать при столкновении. smile


Dva_KotaДата: Вторник, 16 Августа 2011, 13:07 | Сообщение # 17
заслуженный участник
Сейчас нет на сайте
Quote (Dva_Kota)
LunarPixel, Я это знаю я спрашиваю Dva_Kota, потому-что как при столкновений с НПС можно обозначить спрайт смерти?

Вот так:
Code
sprite_index=spr_dead;


Или я не правильно понял вопрос?
Если код стоит у моба, нужно писать
Code
игрок.sprite_index=spr_dead;


Quote (Dva_Kota)
Dva_Kota, и так надо будет писать каждый раз когда делаешь моба

Ты ведь все равно будешь писать или для каждого моба при столкновении с игроком уменьшение здоровья игрока или у родителя будешь это писать. Думаю не очень сложно будет добавить еще две строчки happy


Новый пример инвентаря! /20.06.2012/

Energy Wars
MyACTДата: Вторник, 16 Августа 2011, 14:03 | Сообщение # 18
C# CODERS
Сейчас нет на сайте
Кому как

3дэшечки: https://sketchfab.com/myactyindie
Курентли воркс он: https://myacty.itch.io/raskopnik
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » global.hp
  • Страница 1 из 1
  • 1
Поиск:

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