Unity3D学习笔记第一课

王朝学院·作者佚名  2016-05-20
窄屏简体版  字體: |||超大  

Unity3D学习笔记第一课 第一课程: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")) {}}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航