使用变量
变量可以使每个怪物都有自己的生命值。变量的本质是一个可以变化的值,它们时存储在每个对象的具体实例中。
让我们给怪物添加生命值变量,操作和之前的添加事件非常相似。
单击选中一个怪物对象,会在属性栏中看到其具体的属性,点击instance variables
(实例变量)打开变量对话框。
你可以添加任意多个变量,这里我们只需要添加一个变量。点击Add new instance variable
创建变量。
名字(name)我们输入生命值
,类型(type)设置为Number
,初始值(initial value)设置为5,这样,每个怪物就拥有了5点生命值。 当怪物被击中时,我们减去一点生命值,当生命值为0时,怪物就死亡销毁掉。
点击ok,完成变量的创建,所有的怪物都会拥有生命值的变量,数据彼此之间是相互独立的,并且可以单独设置每个怪物的生命值都不同,点击不同的怪物,可以在属性栏中可以快速修改初始值。 如果要添加、删除变量,就需要打开实例变量对话框进行操作。
改变事件
现在,我们想要子弹击中怪物后,生命值减少1。
切换到事件表中,找到子弹:on collision with 怪物
的事件,之前我们是添加了一个摧毁怪物的动作,现在我们替换成生命值减1
,如图所示,点击替换(replace action)的操作:
同样的操作,我们选择: 怪物->subtract from->生命值->value:1
:
最终替换后如下图所示:
现在,当我们射击怪物时,它们就会减少1点生命值,但是子弹也会爆炸。
我们需要再添加另外一个事件:
添加条件: 怪物->Compare instance variable->生命值<=0
添加动作:怪物-> Spawn another Object->爆炸
添加动作:怪物->Destroy
为什么是<=
呢?如果我们增加了一个威力更强大的武器,每次减少2生命值,当你击杀一个怪物的时候,怪物的生命值可能不会等于0,所以怪物永远不会死!
现在运行游戏,怪物需要击中5发子弹才能杀死了!