void Start ()void Update ()void OnTriggerExit (Collider other)//超出边界
//碰撞检测---进入边界
void OnTriggerEnter (Collider other)
{
if (other.tag == "Boundary" || other.tag == "Enemy")
{
return;
}
if (explosion != null)
{
Instantiate(explosion, transform.position, transform.rotation);
}
if (other.tag == "Player")
{
Instantiate(playerExplosion, other.transform.position, other.transform.rotation);
gameController.GameOver();
}
gameController.AddScore(scoreValue);
Destroy (other.gameObject);
Destroy (gameObject);
}
Destroy (gameObject, lifetime);
//随机旋转脚本
public class Done_RandomRotator : MonoBehaviour
{
public float tumble;
void Start ()
{
GetComponent<Rigidbody>().angularVelocity = Random.insideUnitSphere * tumble;
}
}
//定时执行
void Start ()
{
StartCoroutine (SpawnWaves ());
}
IEnumerator SpawnWaves ()
{
yield return new WaitForSeconds (5f);
while (true)
{
for (int i = 0; i < 10; i++)
{
yield return new WaitForSeconds (3);
}
yield return new WaitForSeconds (1);
}
}//调用其它脚本
private Done_GameController gameController;
void Start ()
{
GameObject gameControllerObject = GameObject.FindGameObjectWithTag ("GameController");
if (gameControllerObject != null)
{
gameController = gameControllerObject.GetComponent <Done_GameController>();
}
if (gameController == null)
{
Debug.Log ("Cannot find 'GameController' script");
}
}
本文介绍了一个Unity游戏开发中使用的脚本实例,包括碰撞检测、物体销毁、随机旋转及定时执行等核心功能。通过这些脚本,可以实现游戏内的爆炸效果、玩家得分、随机旋转物体等功能,并展示了如何使用协程来实现周期性的敌人波次生成。
322

被折叠的 条评论
为什么被折叠?



