第一课程:1.Unity类名必须与文件名保持一致2.讲属性设置为public可以在Unity中访问 public float speed;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {//获取左右方向键的的值(范围为-1到1)float amtToMove = Input.GetAxis ("Horizontal") * speed;//使用矩阵进行平移gameObject.transform.Translate (Vector3.right * amtToMove);}
3.摄像机:游戏的输出画面是由摄像机所观测的场景而实现的,将游戏场景呈现到2D的计算机屏幕,有两种投影方式为透视投影和正交投影,Unity默认为透视投影,透视投影感觉有距离感,正交投影没有距离感。开发Unity2D游戏,需要将投影方式改为正交投影。
透视投影的三个主要参数:FieldofView(视角),NearClipPlane(近看平面),FarClipPlane(远看平面)4.GameObject对象包含transform,camera属性,GetComponet和AddComponent等方法5.Transform实现对象的位置、旋转以及缩放 position rotation localScale Translate方法 Rotate方法6.Input.GetAxis()与Input.GetAxisRaw()检测方向键 检测上下移动Input.GetAxis("Vertical") 检测左右移动Input.GetAxis("Horizontal")7.Time类 deltaTime 上一帧到本帧的时间,单位为秒8.三个Update的调用顺序MonoBehaviour.FixedUpdate()MonoBehaviour.Update()MonoBehaviour.LateUpdate()
9.循环移动方块
public class Player : MonoBehaviour {
public float playerSpeed;// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {Debug.Log ("Update");var moveto = Input.GetAxis ("Horizontal") *Time.deltaTime* playerSpeed;gameObject.transform.Translate (Vector3.right * moveto);
if (transform.position.x > 9.15) {transform.position=new Vector3(-9.15f,transform.position.y);}
if (transform.position.x <- 9.15) {transform.position=new Vector3(9.15f,transform.position.y);}}
void LateUpdate(){Debug.Log ("LateUpdate");}
void FixedUpdate(){Debug.Log("FixedUpdate");}}9.创建按钮并响应按钮操作
void OnGUI(){if (GUI.Button (new Rect (0, 0, 100, 50), "Play")) {
} else if (GUI.Button (new Rect (0, 60, 100, 50), "Pause")) {} else if (GUI.Button (new Rect (0, 120, 100, 50), "Stop")) {}}
新闻热点
疑难解答