为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Unity3d程序基础总结

2012-01-30 8页 pdf 914KB 45阅读

用户头像

is_469717

暂无简介

举报
Unity3d程序基础总结 程序基础 if 语句:当你遇到一个路口,做一个选择,你往左还是往右走。 if (a>b) { //往左走 } else { //往右走 } a>b ab(a大于b),a==b(a等于b),a=2) { transform.position=Vector3.zero; } } } Cube1 Transform PressMouse1 Renderer Cube2 Transfor...
Unity3d程序基础总结
程序基础 if 语句:当你遇到一个路口,做一个选择,你往左还是往右走。 if (a>b) { //往左走 } else { //往右走 } a>b a<=b for语句:当你遇到一个转盘,你转几圈后再继续往前。 for (i=0;i<10;i++) { //循环10次,i从0到9 } a>b(a大于b),a==b(a等于b),a<=b(a小于等于b) PressMouse.js Unity3D的类基础知识 Cube Transform PressMouse Renderer 1. 变量定义方法: var 变量名 : 类型 (公有变量) private var 变量名 : 类型(私有变量) (公有变量可以从参数面板中观察到它的值, 可以用于观察调试) 2. 函数定义方法: function 函数名(变量名:类型) { //函数 } 3. 常用内置函数 function Start() { //开始运行时仅运行一次,可用于初始化变量 } function Update() { //每隔1/帧率的时间运行一次,不断重复 //Time.deltaTime=1/帧率 } function OnMouseDown() { //鼠标在这个物体上按下时,触发运行一次 } function OnMouseUp() { //鼠标在这个物体上放开时,触发运行一次 } var pressflag : boolean; private var times : float; function OnMouseDown () { pressflag=true; times=0; } function OnMouseUp () { pressflag=false; times=0; } function Start () { pressflag=false; } function Update () { if (pressflag) { times=times+Time.deltaTime; if (times>=2) { transform.position=Vector3.zero; } } } Cube1 Transform PressMouse1 Renderer Cube2 Transform Renderer Unity3D物体相互访问 1 2 PressMouse2 var transOb2 : Transform; var pressM2 : PressMouse2; function Start () { gameOb1=gameObject; transOb1=transform; transOb1=GetComponent("Transform"); transOb2=GameObject.Find("Cube2").transform; transOb2=GameObject.Find("Cube2").GetComponent("Transform"); pressM2=GameObject.Find("Cube2").GetComponent("PressMouse2"); } var transOb1 : Transform; var gameOb1 : GameObject; MonoBehaviour Unity3d的输入 function Update () { if (Input.GetKey(KeyCode.Mouse0)) { //鼠标左键持续按下时 } if (Input.GetKeyDown(KeyCode.Space)) { //按下键盘空格的一瞬间 } if (Input.GetAxis ("Horizontal")!=0) { //按下A/D/LeftArrow/RightArrow } if (Input.GetAxis ("Vertical")!=0) { //按下W/S/ArrowUp/ArrowDown } } 向量的基本知识 Vector3类型的变量,既可以代位置,也可以代表向量。 var A : Vector3; var B : Vector3; var C : Vector3; var pos1 : Vector3; var pos2 : Vector3; var pos3 : Vector3; function Start () { pos1=Vector3(0,0,0); pos2=Vector3(1,1,1); pos3=Vector3(2,3,4); A=pos2-pos1; B=pos3-pos2; C=A+B; } pos1 pos2 pos3 向量A 向量B 向量C 空间坐标系 看左边的图,相对于相机而言,有一个自己的上下左右前 后,称为相机的局坐标,以物体自己的轴心为(0,0,0)点。 对于整个场景来说,那个白色cube所在的位置就是整个场 景的(0,0,0)点,包括相机在内的所有物体都有一个相对于零点 的全局坐标。 function Start (){ transform.position = Vector3(1,1,1); var localPos = transform.localPosition; } 在参数面板中的Transform中的Position,还有Rotation 和Scale都是相对于父物体的局坐标的参数。没父物体的时候, 既等同于全局坐标。 以transform为零点的局坐标Vector3(1,1,1)转换成全局坐标: transform.TransformPoint(Vector3(1,1,1)); //其中transform.position代表全局坐标 //localPosition代表在它的父物体的局坐标中它所处的位置 数组的使用 var indexes : int[]; //indexes是一个int数组,用来记录序号 var positions : Vector3[]; //positions是一个Vector3数组,用来记录位置 var array1 : Array; //array1是一个js的Array数组,用来记录各种东西 function Start () { indexes = new int[10]; //int和Vector3这样的数组是builtin arrays内建数组 indexes[0]=1; //内建数组的速度非常的快,只是不能动态扩展数组长度 positions = new Vector3[10]; positions[1]=Vector3(1,1,1); array1 = new Array(10); //这是给Array数组分配空间,用[10]或者(10)皆可 array1.Add(1); //添加一个元素 array1.Add(Vector3(1,1,1)); //再添加一个元素 Debug.Log(array1.length); //array1的长度为12,它可以自由改变长度,但速度慢些 } 数组和For语句配合起来,对整个数组进行遍历 for (i=0;i
/
本文档为【Unity3d程序基础总结】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索