使用变量

变量可以使每个怪物都有自己的生命值。变量的本质是一个可以变化的值,它们时存储在每个对象的具体实例中。

让我们给怪物添加生命值变量,操作和之前的添加事件非常相似。

单击选中一个怪物对象,会在属性栏中看到其具体的属性,点击instance variables(实例变量)打开变量对话框。

使用变量 - 图1

你可以添加任意多个变量,这里我们只需要添加一个变量。点击Add new instance variable创建变量。

使用变量 - 图2

名字(name)我们输入生命值,类型(type)设置为Number,初始值(initial value)设置为5,这样,每个怪物就拥有了5点生命值。 当怪物被击中时,我们减去一点生命值,当生命值为0时,怪物就死亡销毁掉。

点击ok,完成变量的创建,所有的怪物都会拥有生命值的变量,数据彼此之间是相互独立的,并且可以单独设置每个怪物的生命值都不同,点击不同的怪物,可以在属性栏中可以快速修改初始值。 如果要添加、删除变量,就需要打开实例变量对话框进行操作。

改变事件

现在,我们想要子弹击中怪物后,生命值减少1。

切换到事件表中,找到子弹:on collision with 怪物的事件,之前我们是添加了一个摧毁怪物的动作,现在我们替换成生命值减1,如图所示,点击替换(replace action)的操作:

使用变量 - 图3

同样的操作,我们选择: 怪物->subtract from->生命值->value:1使用变量 - 图4

最终替换后如下图所示:

使用变量 - 图5

现在,当我们射击怪物时,它们就会减少1点生命值,但是子弹也会爆炸。

我们需要再添加另外一个事件:

添加条件: 怪物->Compare instance variable->生命值<=0 使用变量 - 图6

添加动作:怪物-> Spawn another Object->爆炸

添加动作:怪物->Destroy

使用变量 - 图7

为什么是<=呢?如果我们增加了一个威力更强大的武器,每次减少2生命值,当你击杀一个怪物的时候,怪物的生命值可能不会等于0,所以怪物永远不会死!

现在运行游戏,怪物需要击中5发子弹才能杀死了!