触发器是一种刚体,但不会阻止运动状态,当你接触这个触发器,他会给系统发送一条消息,以便下一步对信息的处理。
创建触发器
.在 Inspector 中,找到 Box Collider 2D 组件。启用 Is Trigger 属性复选框。
勾选触发器即可。
创建脚本
1.感知
public class HealthCollectible : MonoBehaviour
{
void OnTriggerEnter2D(Collider2D other)
{
Debug.Log("Object that entered the trigger : " + other);
}
}
在创建触发器可以不考虑void start和void update 因为目前是一个不变的物体,仅仅是凭借接触来获取信息的作用而已,所以这时我们定义一个函数,该函数是检测有没有刚体接触。如果接触之后就可以在控制台显示接触的物体信息。
2.Destroy()
使括号里的内容消失。是 Unity 的一个内置函数,可销毁你作为参数传递给这个函数的任何对象;在此示例中为 gameObject。这是将脚本附加到的游戏对象(可收集的生命值包)。
3.变量公开
通过在变量前面加入public可能会导致所有内容都会导致错误,尤其是对于某些内容,你可能并不希望从任何位置都可以访问和更改它们。为了避免这种情况的发生,这时我们可以通过函数的作用来实现在其他脚本读到你想要的变量(例如血量),这样可以方便检查。因此,我们可以称该变量是一种属性。
4.定义属性
public int health { get { return currentHealth; }}
通过这些因素定义:
访问级别 (public)
类型 (int)
名称 (health)
get可得到任何 {}中的内容(变量,函数)
set 关键字的原理与 get 完全相同,但作用是使属性变为可写。如果提供 set 而没有
get,则只能写入属性,而无法读取属性。你可以在线查找 C# set 属性的信息来了解如何使用这些属性。