Unity3d游戏开发官方入门教程:飞机大战(八)——创建销毁边界

分类栏目:unity3d教程

113

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); 

}


保存脚本后,运行游戏,效果如下:

可见我们已成功销毁飞出游戏边界的子弹。