jyhlearning

导航

unity 脚本

GameObject.CreatPrimitive(obj:Primitive type);//创建GameObject对象
GameObject.Find(name:string);//找到名字为name的对象
GameObject.FindGameObjectsWithTag(name:string);//通过标签获取所有的游戏对象返回一个数组

obj:GameObject.AddComponent<a:class>();//给对象添加组件
obj:GameObject.GetComponent<a:class>();//得到该对象所拥有的组件
obj:GameObject:BroadcastMessage(f:string, text:string);//向自己的同辈或是子类传输信息,用f函数接收,d第一个参数是函数名:string,第二个参数是要传输的信息
obj:GameObject:SendMessage(f:string, text:string);//向自己传输信息
obj:GameObject:SendMessageUpwards(f:string, text:string);//向自己的同辈或是父辈传输信息
obj:GameObject.transform.postion;//获取游戏对象的位置
obj:GameObject.transform.rotation;//获取游戏对象的角度
obj:GameObject.transform.localscale;//获取对象的缩放比例
obj:GameObject.transform.Translate(Vector);//移动对象,Vector包含他的移动方向和距离
obj:GameObject.transform.Rotate(xAngle,yAngle,zAngle);//旋转游戏对象,参数分别是绕x,y,z的旋转角度
obj:GameObject.SetActive(bool);//设置对象的开关状态,如camera0.SetActive(true);可以实现摄像机的选择,详见文件Unity/5/Scripts_05_01.cs

obj:GameObject.GetComponent<Rigidbody>().AddForce(x_force, y_force, z_force);//给对象添加一个力,三个参数分别对应x,y,z轴上的力
obj:GameObject.GetComponent<Rigidbody>().AddForceAtPosition(dir:Vector3, position:Vector3, ForceMode.Impulse);//添加一个位置力,第一个参数是施加力的方向,第二个是施加力的位置,第三个是施加力的模式

Instantiate(obj:GameObject, pos:Vector3, rotation:Rotation);//Instantiate克隆对象,第一个参数是要克隆的对象,第二个是位置,第三个是旋转角度

Quaternion.Euler(x, y, z);//Quaternion.Euler()返回一个四元数,参数表示三维角度
Quaternion.Slerp(gameObject.transform.rotation, Quaternion.Euler(0f, -100f, 0f), 5);//插值旋转,暂时没有搞懂

Ray ray Camera.main.ScreenPointToRay(postion:Vector3);//创建一条到postion的射线,一般搭配RaycastHit使用,检测射线撞击,例如:
RaycastHit hit;
if (Physics.Raycast(ray, out hit))//对所有游戏对象而言
	{
		info = "hit it!";
	}

方法

void OnGUI()//GUI方法,设置一些控件必须在里面设置
void OnCollisionEnter(Collision collision)//进入碰撞,collision是被碰撞的对象
void OnCollisionStay(Collision collision)//在碰撞中
void OnCollisionExit(Collision collision)//结束碰撞
void OnControllerColliderHit(ControllerColliderHit hit)//检测操纵对象的碰撞状态,hit是被撞击物体的参数

CharacterController

control:CharacterController.SimpleMove(vector);//移动过程中受重力效果约束
control:CharacterController.Move(vector);//移动不受重力约束,重力效果需要自己去实现

posted on 2022-08-11 19:48  jyhlearning  阅读(101)  评论(0编辑  收藏  举报