Unity3D学习笔记(二)Unity的JavaScript基础

时间:2021-03-17 04:09:04

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);