1 //设置地图边界:1:创建一个类 Boundary(边界)
2 public class Boundary
3 {
4 public float xMin;
5 public float xMax;
6 public float zMin;
7 public float zMax;
8 }
9 public Transform m_Transform;
10 private Rigidbody m_Rigidbody;
11 public Boundary boundary;
12 void Start () {
13 m_Transform = gameObject.GetComponent<Transform>();
14 m_Rigidbody = gameObject.GetComponent<Rigidbody>();
15 //实例化 Bundary 类 ,并给这些变量赋值;
16 boundary = new Boundary() { xMin = -3f, xMax = 3f, zMin = -3f, zMax = 3f };
19 }
20
21 void Update () {
22
23 float fmh = Input.GetAxis("Horizontal");//得到水平移量
24 float fmv = Input.GetAxis("Vertical"); //得到垂直移量
25 Vector3 move = new Vector3(fmh,0,fmv); //形成三维向量
26
27
28 if (m_Rigidbody!=null)
29 {
30 m_Rigidbody.velocity = move *10; //得到刚体的速度
31
32 //限制刚体的移动范围 Mathf.Clamp 一个范围
33 float fx = Mathf.Clamp(m_Rigidbody.position.x,boundary.xMin,boundary.xMax);
34 float fz = Mathf.Clamp(m_Rigidbody.position.z,boundary.zMin,boundary.zMax);
35
36 m_Rigidbody.position = new Vector3(fx,0.0F,fz);
37
38
39 ///物体的倾斜角度
40 m_Rigidbody.rotation = Quaternion.Euler(0.0F,0.0F,m_Rigidbody.velocity.x*5f);
41
42
43 }
44
45
46 }
47 }