Unity3D学习笔记(二)Unity的JavaScript基础
Update()每帧调用一次
LateUpdate()在Update()后执行
Awake()系统执行的第一个方法
Start()在Awake()之后,Update()之前
FixedUpdate()固定更新,可在Edit->Project Settings->Time中更改刷新频率
OnDestroy()脚本销毁时调用
OnGUI()每帧调用,专门用来绘制界面
创建对象 var obj = GameObject.CreatePrimitive(PrimitiveType.cube);
获取对象 GameObjcet.Find(obj);
对于子物体 Find内写路径obj1/obj2/...
标签获取对象 GameObject.FindWithTag(<tag name>);
更改组件 obj.AddComponent();
注:组件也可以是脚本,不必指明路经,系统自动寻找。
更改颜色 obj.renderer.material.color = Color.blue;
设置坐标 obj.transform.position = Vector3(x,y,z);
更改材质 render.material.mainTexture = texture(Texture类型);
脚本通信
向自己发gameObject.SendMessage(<Function method name>,parameters);
向子类发BroadcastMessage 向父类发SendMessageUpwards
通过更换gameObject,可以实现向其他脚本发消息。
克隆/实例化 Instantiate
var clone : GameObject = Instantiate(<obj be cloned>,obj.transform.position,
obj.transform.rotation);
删除物体 Destroy(obj,secs);
对象变换
位置变换 obj.transform.position = Vector3(x,y,z);
绕轴旋转 obj.transform.Rotate(Vx,Vy,Vz);
绕点旋转 obj.transform.RotateAround(obj.transform.position,Vx,Vy,Vz);
平移物体 obj.transform.Translate(Vector3.<x>);
x可以是forward fwd(向后) left right
缩放物体 obj.transform.localScale = Vector3(sx,sy,sz);