1.第一步:后面实现了飞机的射击零碎以及静止零碎,接下来要做的就是实现敌机的静止零碎以及子弹击中敌机时的响应。所以咱们要先让敌机动起来,这也须要脚本文件,咱们同样在scripts文件夹外面创立一个名为EnemyController的C#脚本,双击之后进行编辑,代码如下:

using System.Collections;using System.Collections.Generic;using UnityEngine;public class EnemyController : MonoBehaviour{    //敌军飞船生命量    public int Health = 100;    //敌军飞船速度    public float Speed = 1.0f;    //保障飞船在上下左右挪动    public Vector3 MinMaxX = Vector3.zero;    // Start is called before the first frame update    void Start()    {            }    // Update is called once per frame    void Update()    {        transform.position = new Vector3(            //Mathf.PingPong(A,B)其中A是个变动的值,B是取值所要的区间            //随着A的变动,函数的取值再0到B之间变动,从0升到B,再从B降到0,重复循环。            MinMaxX.x + Mathf.PingPong(Time.time * Speed, 1.0f) *            (MinMaxX.y - MinMaxX.x),            transform.position.y,            transform.position.z            );    }    //触发器的入口    void OnTriggerEnter(Collider other)    {        Destroy(gameObject);        Destroy(other.gameObject);    }}

2.第二步:编写并保留后,同样将本段代码拖到敌机的左边的查看器(Inspector)那一栏,这时便会看到EnemyController(scripts)能够调节挪动属性,这里的敌机是在一直的左右挪动。
在敌机以及能够挪动了,并且飞机的挪动以及射击零碎实现后,接下来就是击中断定零碎了,我这里做的是子弹击中敌机后,敌机便会隐没,下面代码的最初曾经写了对于敌机的触发器,接下来便是设置触发器,这里也是卡的我最久的时候,因为设置出问题的话,触发器便响应不了。

首先:咱们点击敌机,敌机的组件有盒碰撞器,是否有刚体都无所谓,但肯定要有碰撞器,同时这里碰撞器勾选是触发器(Is Trigger),
其次:咱们抉择Assets外面的ammo预设,双击它,进入ammo的左边的查看器(Inspector)那一栏,同样也须要盒碰撞器,如果没有的话,子弹会穿过来,就是这个卡了我很久,毕竟是小白一枚,同时也须要刚体,缺一不可。在设定好之后,子弹击中便会触发敌机的效应器,而后敌机便会隐没。


这样三大部分就实现了,这是一个很小的游戏,然而真正的参加进开发却会发现很多问题,也学到很多,其实还有很多不足之处,包含背景,以及敌机数量,敌机静止轨迹,还有敌机发射子弹等等,前期我也会持续开发欠缺。