Unity学习笔记:C#编程知识点

文章适合新手学习

自学Unity有段两三个月了,边学边做了几个小游戏,但还是不适应,没有上手的感觉,我觉得是未系统地总结起知识框架的原因,所以准备在这篇博客中对 Unity 的 C# 入门编程部分知识点做一个简单的梳理,列举一些基础的运用,也可以方便后来者。
以我的经验,就编程这块来说,学习Unity没必要报什么课买什么书,具体应用查官网API就行。

.
.


.

Unity常用API和函数方法

.

1.MonoBehaviour类

脚本组件必须继承的类

Awake
Awake 在加载场景初始化包含脚本的活动 GameObject 时,或者在将先前非活动的 GameObject 设置为活动时,或者在初始化使用 Instantiate 创建包含脚本的 GameObject 之后调用。因为Awake在先初始化所有GameObject之后,所以可以在Awake中查询其他 GameObject。

Start
在首次调用任何 Update 方法之前启用脚本时,在帧上调用 Start。调用 Awake 在调用 Start 函数之前,所以如果对象 A 的初始化代码需要依赖于已经初始化的对象 B,此时,B 的初始化应在 Awake 中完成,A 则应在 Start 中完成。

Update
每帧调用 Update,这里强调帧的概念:帧是电脑屏幕上不断刷新的图片,每一帧的时间间隔不一定相等。在Update函数中可以使用Time.DeltaTime得到上一帧持续的时间。

FixedUpdate
每个固定帧率帧调用 FixedUpdate 函数,调用之间的默认时间为 0.02 秒,适用于物理系统的计算。
.
.

2.Transform组件

对象的位置、旋转和缩放

position,localposition
世界空间中的变换位置;
相对于父变换的变换位置。

eulerAngles
以欧拉角表示的旋转(以度为单位)[ 注:一般不使用rotation与localRotation,因为两者以四元数Quaternion表达 ]

localScale
相对于 GameObjects 父对象的变换缩放。
.
.

3.GameObject操作

对游戏实体的禁用/激活,查找组件,对组件的禁用/激活,查看游戏实体的禁用/激活状态,查找、克隆游戏实体

enabled
启用、禁用组件,例:Component.enabled = true;

SetActive
激活、禁用游戏对象,例:gameObject.SetActive(false);

activeSelf,activeInHierarchy
查看 GameObject 是否激活,例:Debug.Log("Active Self: " + myObject.activeSelf);
查看 GameObject 在 Scene 中是否处于活动状态。

Find,FindWithTag
按 name 查找 GameObject;返回它找到的具有指定标签的第一个 GameObject。

GetComponent
获取游戏对象指定类型的组件;
GetComponents就是获取指定类型的所有组件

Instantiate
克隆 original 对象并返回克隆对象。

Destroy
销毁游戏对象或组件,可以加延迟秒数参数。
.
.

4. Input输入

访问输入系统的接口

GetMouseButton,GetMouseButtonDown,GetMouseButtonUp
是否按下了给定的鼠标按钮(瞬时);
在用户按下给定鼠标按钮的帧期间返回 true;
在用户释放给定鼠标按钮的帧期间返回 true。

GetKey,GetKeyDown,GetKeyUp
在用户按下 name 标识的键时返回 true,传入参数"KeyCode.X",读取键盘输入;

GetButton,GetButtonDown,GetButtonUp
当按住 buttonName 标识的虚拟按钮时返回 true;

GetAxis
返回由 axisName 标识的虚拟轴的值,返回值处于 -1…1 的范围内,在Edit->Project Setting->Input Manager设置
.
.

5. Rigidbody刚体 Collider碰撞体

Uniity物理组件

velocity
刚体的速度矢量,矢量格式,使用刚体的velocity属性直接修改速度。

AddForce
向刚体添加力,参数是力矢量和力类型。

AddTorque
向刚体添加扭矩,参数是扭矩矢量和扭矩类型。

OnCollisionEnter、OnCollisionExit
当该碰撞体/刚体已开始接触/停止接触另一个刚体/碰撞体时,调用 OnCollisionEnter/OnCollisionExit 。
.
.

6. UI界面

常用UI组件,Image,Text

Image图片来源更换
Resources.Load:
Sprite sprite = Resources.Load(path,typeof(Sprite)) as Sprite;
Img.sprite = sprite;

Text文字改变
直接修改Text组件的text属性。

button绑定监听
btnTemp.onClick.AddListener(delegate() {/*点击事件*/});

.
.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值