Game Maker — создать экземпляр, когда здоровье равно 0

У меня есть пять объектов: obj_Boss, obj_bossHealth, obj_GameOver, obj_BtnOK и obj_rec2.

Это то, чего я хочу. Когда у obj_Boss больше не будет здоровья, появятся obj_GameOver и obj_BtnOK.

Это мой первый метод:

В obj_bossHealth у меня есть эти события:

Создать событие: установить переменную global.bossHealth to 100

Событие розыгрыша: draw_healthbar

В obj_Boss у меня есть следующие события:

Столкновение с obj_rec2: установить переменную global.bossHealth relative to -1.5; уничтожить экземпляр (другое)

Нет больше здоровья: создайте экземпляр obj_GameOver; создать экземпляр obj_BtnOK

Это мой второй метод:

В obj_bossHealth у меня есть эти события:

Создать событие: установить переменную global.bossHealth to 100

Событие розыгрыша: draw_healthbar

Шаговое событие: если global.bossHealth is equal to 0, то создайте экземпляр obj_GameOver и создайте экземпляр obj_BtnOK

В obj_Boss у меня есть эти события:

Столкновение с obj_rec2: установить переменную global.bossHealth relative to -1.5; уничтожить экземпляр (другое)

Результат обоих методов:

obj_GameOver и obj_BtnOK не появятся. Как я могу это исправить? Пожалуйста, объясните свой ответ. Спасибо.

Я добавляю несколько изображений: method1 method2


person Grace Michelle    schedule 13.06.2016    source источник


Ответы (1)


Я уже понял свою ошибку.

Я не могу использовать свой первый метод. Потому что я создаю переменную global.bossHealth и уменьшаю эту переменную на 1.5 каждый раз, когда она сталкивается. Но я поставил событие No More Health, которое по-прежнему имеет значение 100.

Я использую свой второй метод. В моем вопросе я уменьшаю global.bossHealth на 1.5. Но 100 не делится на 1.5. Таким образом, условия if global.bossHealth is equal to 0 никогда не будут True. Я меняю действия в Step Event. Я меняю if global.bossHealth is equal to 0 на if global.bossHealth is less than or equal to 0. Какое less than 0 может быть True.

person Grace Michelle    schedule 14.06.2016