可堂中有些無趣,於是突發起想來實作一個可被時間改變的sin波。
隨便讓一個圓形周轉吧:
public class RunCircle : MonoBehaviour {
public Transform t;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
transform.RotateAround (t.position,Vector3.up, 2500);
}
}
周轉後,我們已經可以取得高度了,其實就是本身物件的值,接著把這個物件丟到另一個叫 single 的script裡面,並讓他不斷產生物件是往前的,就可以實現簡單的波型了!
using UnityEngine;
using System.Collections;
public class Single : MonoBehaviour {
public Transform shape;
public GameObject prefab;
public Transform circlecore;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
transform.position = new Vector3(transform.position.x,transform.position.y,shape.position.z);
Instantiate(prefab, circlecore.position, Quaternion.identity);
}
}
記得,產生的物件要有 forward ,並且我設定在3秒鐘時刪除。void Update () {
transform.Translate (-1,0,0);
Destroy (this.gameObject,3);
}
最後大概會長這樣:
沒有留言:
張貼留言