我写了一个让小球来回移动的代码,
using UnityEngine;
using System.Collections;
public class fly : MonoBehaviour {
public GameObject left;//左边界
public GameObject right;//右边界
float flag=1f;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (transform.position.x - 1 > left.transform.position.x && transform.position.x + 1 < right.transform.position.x && flag == 1f) {//左右移动
transform.Translate (Vector3.right * Time.deltaTime);
}
else if (transform.position.x - 1 > left.transform.position.x && transform.position.x + 1 < right.transform.position.x && flag == -1f) {
transform.Translate (Vector3.left * Time.deltaTime);
}
else if (transform.position.x + 1 == right.transform.position.x) {//遇到边界
flag = -1f;
transform.Translate(Vector3.left*Time.deltaTime);
}
else if (transform.position.x - 1 == left.transform.position.x) {
flag = 1f;
transform.Translate(Vector3.right*Time.deltaTime);
}
}
}
小球也要添加刚体,否则无法碰撞回转。
以后如果贴图,就可以实现飘动的云那种效果。