此案例学习自漠刀凡尘
传送门:
运行结果:
脚本:
BGScroll:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BGScroll : MonoBehaviour {
public float scrollSpeed; //背景图片滚动速度
public float tileSizeZ; //滚动长度
private Vector3 startPosition; //记录初始变量
void Start () {
startPosition = transform.position;
}
void Update () {
float newPosition = Mathf.Repeat (Time.time * scrollSpeed, tileSizeZ); //求Time.time * scrollSpeed % tileSizeZ
transform.position = startPosition + Vector3.forward * newPosition;
}
}
DestroyByBoundary:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DestroyByBoundary : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
private void OnTriggerExit(Collider other)
{
//与Boundary发生碰撞的直接销毁
Destroy (other.gameObject);
}
}
DestroyByContact:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DestroyByContact : MonoBehaviour {
public GameObject explosion; //小行星爆炸特效
public GameObject explosion_player; //玩家飞船爆炸特效
public int scoreValue; //击毁获得的分值
private GameController gameController;
void Start()
{
GameObject gameControllerObj = GameObject.FindGameObjectWithTag ("GameController");
if (gameControllerObj)
gameController = gameControllerObj.GetComponent<GameController>