Unity3d游戏开发官方入门教程:飞机大战(八)——创建销毁边界
本节要点
在上一节中, 我们发现创建的子弹并不会销毁,会沿着Z轴一直飞行,我们需要子弹离开游戏区的时候销毁它们。
本节我们会创建一个包围盒,用于作为销毁子弹的边界。后续我们会使用该销毁边界,处理飞出游戏区域的障碍物。
创建一个Boundary(Cube对象)
Hierarchy -> Create -> 3D Object -> Cube,重命名为Boundary,重置Transform,去掉勾选Mesh Renderer,并勾选Box Collider的Is Trigger,用于检测飞出子弹的碰撞。
接下来,设置Boundary的大小:position = (0,0,5),Scale=(15,1,20)。
效果如下:
为Boundary添加脚本
在Hierarchy中选中Boundary:Add Component -> New Script,新建脚本,名为“DestroyByBoundary”,在Assets中,将脚本DestroyByBoundary移到Script文件夹下。
编辑脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DestroyByBoundary : MonoBehaviour {
//当其他碰撞器离开Boundary的触发器时,销毁该碰撞器对应的游戏对象。
void OnTriggerExit(Collider other) {
Destroy(other.gameObject);
}
}
保存脚本后,运行游戏,效果如下:
可见我们已成功销毁飞出游戏边界的子弹。