Unity笔记——1.Unity3D脚本基础

Unity3D脚本基础

Unity3D中的引用类型

UnityEngine.Object类

在Unity3D的脚本系统中,Unity使用命名空间UnityEngine来盛放Unity3D定义的类型;
其中UnityEngine.Object类是最基本的类,是在Unity3D中所有对象的基类;
所有派生自UnityEngine.Object类的公共变量都会被显示在监视面板中,Unity程序员可通过编辑器来修改这些变量的数值。

UnityEngine.Object类提供的类成员:

字段:

  • hideFlags: 标识该游戏对象是否被隐藏
  • name

公共方法:

  • GetInstanceID
  • ToString: 返回该游戏对象的名称

静态方法:

  • Destory
  • DestoryImmediate
  • DontDestoryOnLoad
  • FindObjectOfType
  • FindObjectsOfType
  • Instance

UnityEngine.Component类

除了基本的UnityEngine.Object类之外,另一个很重要的UnityEngine.Component类派生自UnityEngine.Object类,它是所有能添加到游戏对象GameObject上组件Component的基类。

UnityEngine.Component类提供的类成员:

字段:

  • gameObejct: 该组件所在的游戏对象
  • tag: 该组件所在游戏对象的标签
  • transform: 该组件所在游戏对象上的Transform组件

公共方法:

  • BroadcastMessage
  • CompareTag: 返回该对象是否被标签标记
  • GetComponent
  • GetComponentInChildren
  • GetComponentInParent
  • GetComponents
  • GetComponentsInChildren
  • GetComponentsInParent
  • SendMessage
  • SendMessageUpwards

UnityEngine.Behaviour类

UnityEngine.Behaviour类继承自UnityEngine.Component类,
是一个可以启用或者禁用的组件

UnityEngine.Behaviour类提供的类成员:

变量:

  • enable: 启用状态下,会执行每帧的更新,禁用状态不会被执行
  • isActiveAndEnable: 表示当前Behaviour是否被启用

UnityEngine.MonoBehaviour类

UnityEngine.MonoBehaviour继承自UnityEngine.Behaviour类;在Unity3D游戏引擎中,UnityEngine.MonoBehaviour类是所有Unity3D脚本的基类。

UnityEngine.MonoBehaviour类提供的类成员:

消息:

  • Awake
  • FixedUpdate
  • Update
  • LateUpdate
  • OnBecameInvisible
  • OnBecameVisible
  • OnCollisionEnter
  • OnCollsionExit
  • OnCollisionStay
  • OnDestory
  • OnDisable
  • OnEnable
  • OnGUI
  • OnLevelWasLoaded
  • OnMouseDown
  • OnMouseDrag
  • OnMouseEnter
  • OnMouseExit
  • OnMouseOver
  • OnMouseUp
  • OnMouseUpAsButton
  • OnTriggerEnter
  • OnTriggerExit
  • OnTriggerStay
  • OnValidate
  • Start
  • Reset

公共方法:

  • CancelInvoke
  • Invoke
  • InvokeRepeating
  • IsInvoking
  • StartCoroutine
  • StopAllCoroutine
  • StopCoroutine

Unity3D脚本编程时需要注意,在C#中使用new操作符来实例化引用类型,但是在Unity3D中编写脚本时,凡是继承自MonoBehaviour类的类型包括MonoBehaviour本身都无法使用new关键字来进行实例化;
在Unity3D中我们可以通过将脚本以组件的形式挂载在游戏对象上来实现创建类型对象的目的。
当然,不需要继承自MonoBehaviour类的类型,是可以通过new操作符实例化的。

Unity3D中的值类型

向量结构

Vector2、Vector3、Vector4这三个结构体分别用来表示二维、三维、四维向量。

向量结构的实例成员:

  • magnitude
  • normalized
  • sqrMagnitude
  • x
  • y
  • z
  • w

向量结构的方法:

  • Cross
  • Dot
  • Distance
  • Lerp
向量计算

向量之间的点乘:
向量a(x1,y1,z1) 向量b(x2,y2,z2)
公式一:

a·b = x1x2 + y1y2 + z1z2

公式二:

a·b = |a||b|cos<a,b>

a·b的几何意义:向量b在向量a所处单位向量方向上的投影长度乘以向量a的模。

向量之间的叉乘:

公式一:

ab = (x1,y1,z1)(x2,y2,z2)
=(y1z2-z1y2,z1x2-x1z2,x1y2-y1x2)

公式二:

|a*b| = |a||b|sin<a,b>

其他值类型

  • Color
  • Color32
  • Ray
  • Touch
  • RaycastHit
  • Bounds
  • Rect
  • Plane

    REF

    Unity3D脚本编程

转载于:https://www.cnblogs.com/sylvan/p/8834947.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值