[英]Game Maker - Create Instance When Health Is 0
I have five objects: obj_Boss
, obj_bossHealth
, obj_GameOver
, obj_BtnOK
, and obj_rec2
. 我有五个对象: obj_Boss
, obj_bossHealth
, obj_GameOver
, obj_BtnOK
和obj_rec2
。
This is what I want. 这就是我要的。 When obj_Boss
has no more health, obj_GameOver
and obj_BtnOK
will appear. 当obj_Boss
不再具有运行状况时,将出现obj_GameOver
和obj_BtnOK
。
This is my first method: 这是我的第一种方法:
In obj_bossHealth
, I have these events: 在obj_bossHealth
,我有以下事件:
Create Event: set var
global.bossHealth to 100
创建事件:将varglobal.bossHealth to 100
设置global.bossHealth to 100
Draw Event: draw_healthbar 抽奖活动:draw_healthbar
In obj_Boss
, I have these events: 在obj_Boss
,我有以下事件:
Collision with
obj_rec2
: set varglobal.bossHealth relative to -1.5
; 与obj_rec2
碰撞:global.bossHealth relative to -1.5
设置varglobal.bossHealth relative to -1.5
; destroy the instance (other) 销毁实例(其他)No More Health: create instance of
obj_GameOver
; 不再健康:创建obj_GameOver
实例; create instance ofobj_BtnOK
创建obj_BtnOK
实例
This is my second method: 这是我的第二种方法:
In obj_bossHealth
, I have these events: 在obj_bossHealth
,我有以下事件:
Create Event: set var
global.bossHealth to 100
创建事件:将varglobal.bossHealth to 100
设置global.bossHealth to 100
Draw Event: draw_healthbar 抽奖活动:draw_healthbar
Step Event: if
global.bossHealth is equal to 0
then create instance ofobj_GameOver
and create instance ofobj_BtnOK
步骤事件:如果global.bossHealth is equal to 0
则创建obj_GameOver
实例并创建obj_BtnOK
实例
In obj_Boss
, I have these events: 在obj_Boss
,我有以下事件:
Collision with
obj_rec2
: set varglobal.bossHealth relative to -1.5
; 与obj_rec2
碰撞:global.bossHealth relative to -1.5
设置varglobal.bossHealth relative to -1.5
; destroy the instance (other) 销毁实例(其他)
The result of both methods: 两种方法的结果:
obj_GameOver
and obj_BtnOK
won't appear. obj_GameOver
和obj_BtnOK
不会出现。 How can I fix this? 我怎样才能解决这个问题? Please explain your answer. 请解释您的答案。 Thanks. 谢谢。
I've already known my mistake. 我已经知道我的错误了。
I can't use my first method. 我不能使用第一种方法。 Because I make a variable global.bossHealth
and reduce that variable by 1.5
every time it collides. 因为我创建了一个变量global.bossHealth
,所以每当发生冲突时都将其减小1.5
。 But, I put event No More Health
, which is still at value 100
. 但是,我把事件No More Health
为100
。
I use my second method. 我用第二种方法。 In my question, I reduce the global.bossHealth
by 1.5
. 在我的问题中,我将global.bossHealth
减少了1.5
。 But, 100
is not divisible by 1.5
. 但是, 100
不能被1.5
整除。 So, the conditions if global.bossHealth is equal to 0
will never be True . 因此, if global.bossHealth is equal to 0
的条件将永远不会为True 。 I change the actions in Step Event
. 我在Step Event
更改动作。 I change if global.bossHealth is equal to 0
into if global.bossHealth is less than or equal to 0
. 我将if global.bossHealth is equal to 0
更改为if global.bossHealth is less than or equal to 0
。 Which less than 0
can be True . less than 0
可以为True 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.