知识点回顾

unity学习,希望我的博客能给喜欢unity的朋友带来帮助。


学习了一周了,对有些知识点都感到混乱,来总结梳理一下吧。

一:transform对象

属性:

1、transform.position(位移)
举例:移动物体到
transfrom.position=Vertor3(1,1,0);

2、 transform.rotaition(旋转)
举例:旋转物体,重设坐标
transform.rotaition = Quaternion.identity;

3、transform.scale(缩放)
举例:放大(缩小)物体
transform.localScale+(-)=Vertor(1,0,0);

方法:

1、transform.Translate()
像某方向移动物体多少距离
举例:transform.Translate(new Vertor(0,1,1));//括号内为三维向量
           transform.Translate(Vector3.forward );//也可为某一方向

2、transform.Rotate()
像某方向旋转物体
举例: transform.Rotate (new Vector3(0,10,0));
同位移一样,括号内的参数可为三维向量也可为某一方向

3、transform.RotateAround()
围绕旋转
举例:地球围着太阳转
earth.transform.RotateAround (sun.transform.position, Vector3.up, 1);

二、Input(鼠标、键盘、自定义)

键盘:

GetKey : 当通过名称指定的按键被用户按住时返回true
GetKeyDown :  当用户按下指定名称的按键时的那一帧返回true。
GetKeyUp : 在用户释放给定名字的按键的那一帧返回true。
GetAxis(“Horizontal")和GetAxis(“Verical”) :  用方向键或WASD键来模拟-1到1的平滑输入 

鼠标:

GetButton : 根据按钮名称返回true当对应的虚拟按钮被按住时。 
GetButtonDown :在给定名称的虚拟按钮被按下的那一帧返回true。
GetButtonUp : 在用户释放指定名称的虚拟按钮时返回true。
button值设定为 0对应左键 , 1对应右键 , 2对应中键。

用法都大致相同,以键盘为例:
Input.GetKey("  ");//括号中可以写up,down形式,也可以使用KeyCode.xx;(xx可以是键盘上的按键);

自定义:

Input.GetButton(" ");//括号内不能写0,1等数字,要写string类型。

三、gameObject类

GameObject是Unity场景里面所有实体的基类.

方法:

1、 creatPrimitive (创建对象)
GameObject.CreatePrimitive(PrimitiveType.Cube);

2、 Destory(销毁对象)
 Destroy (gameObject);

3、 Find(查找,通过名称来查找)
 GameObject  go=GameObject.Find(“Player”);

4、FindGameObjectWithTag(查找,通过tag标签来获取查找对象)
GameObject go=GameObject..FindGameObjectWithTag (“Player”);

5、 GameObject.Instantiate(参数)
(克隆对象, 克隆原始物体并返回克隆物体。 括号内的参数分别为克隆对象,当前位置,旋转)
GameObject obj=(GameObject)Instantiate(cube);


四、Time类

 属性:  deltaTime 

说明: 

 方法Update(): 受当前渲染效率的影响,有时快有时慢,帧率会变化,Update被调用的时间间隔就发生变化,Time. deltaTime获得自上次Update一来经历的时间,只应该在Update()中使用deltaTime OnGUIFiexedUpdate等里面不要用。 


Random(随机的)

 返回一个随机浮点数,在min(包含)和max(包含)之间。(只读)

Random.Range();小括号内默认为整数



五、Yield


Yield语句是一种特殊类型的Return(返回)语句,它可以确保函数在下一次被执行时,不是从头开始,而是从Yield语句处开始。

 可以实现将一段程序延迟执行或者将其各个部分分布在一个时间段内连续执行。


举例:

  1. void Start () {
  2.      print("Start开始");
  3.      StartCoroutine(Do());
  4.      print("Do调用后");
  5. }
  6. IEnumerator Do()
  7. {
  8.      print("Do开始");
  9.      yield return  new WaitForSeconds(3.0f);
  10.      print("暂停3秒后");
  11. }

消息传递函数:Message

SendMessage ("函数名",参数,SendMessageOptions) //GameObject自身的Script

BroadcastMessage ("函数名",参数,SendMessageOptions)  //自身和子ObjectScript 

SendMessageUpwards ("函数名",参数,SendMessageOptions)  //自身和父ObjectScript



六、触发器(Trigger)和碰撞器(Collision)

触发器方法

进入触发器: OnTriggerEnter( Collider col)
退出触发器: OnTriggerExit( Collider col )
逗留触发器: OnTriggerStay( Collider col)

触碰器中判断的两种方法

(1)if(col.gameObject.name=="Player")
      {
      }
(2)if(col.tog=="Player")
    {
    }

碰撞器方法

进入碰撞器: OnCollisionEnter( Collision col ) 
退出碰撞器: OnCollisionExit( Collision col) 
逗留碰撞器: OnCollisionStay( Collision col)  

碰撞器和触发器的区别:触发器必须勾选上IsTrigger属性,碰撞器不需要。

更多精彩请点击 http://www.gopedu.com/article

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值