目录

Unity游戏开发官方入门教程飞机大战十敌人的爆炸和移动

Unity游戏开发官方入门教程:飞机大战(十)——敌人的爆炸和移动

Unity版本:Unity 2018.2.14f1

原视频链接:

教程目录:


一、创建敌人爆炸特效

为了创建敌人的爆炸特效,将DestroyByContact.cs作出以下改动:

  • 新建一个名为explosion的public对象
  • 在脚本中使用Instantiate()来实例化这个爆炸对象
  • 新建一个名为playerExplosion的public对象
  • 在脚本中使用Instantiate()实例化playerExplosion,并增加tag判断语句,判断是否是Player的tag

DestroyByContact.cs完整代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DestroyByContact : MonoBehaviour {
	public GameObject explosion;
	public GameObject playerExplosion;

    //当其他碰撞器进入当前GameObject的触发器时,销毁该碰撞器对应的游戏对象,同时销毁该GameObject
    void OnTriggerEnter(Collider other)
    {
		if(other.tag == "Boundary") 
		{
			return;
		}

		Instantiate(explosion, transform.position, transform.rotation);

		if(other.tag == "Player") 
		{
			Instantiate(playerExplosion, other.transform.position, other.transform.rotation);
		}

        Destroy(other.gameObject);
        Destroy(gameObject);
    }
}

接下来,将explosion_asteroid拖拽到explosion和playerExplosion中。并在Player中赋予一个Player的tag。

可见射击后的爆炸效果,以及飞船撞击后的爆炸效果:

https://i-blog.csdnimg.cn/blog_migrate/40afdc8eb835a29e382e3de8c81dd23c.gif


二、增加敌人移动脚本

1.将mover.cs移动到Asteroid中,将speed设置为-5。

2.将Asteroid对象拖拽到Prefabs,以便之后批量生成。

3.将Asteroid拖拽出来,能够以-5的速度移动,并实现撞击销毁和飞出边界销毁,效果如下:

https://i-blog.csdnimg.cn/blog_migrate/95ce7b406976e58acb14848ea96772bf.gif


参考资料: