[Unity中文课堂教程预告片] C#初级编程

[Unity中文课堂教程预告片] C#初级编程
| 快速过了一遍 C#的基础编程语法 #230527
01 作为行为组件的脚本
脚本(.cs)是作为对象(object)的行为组件,添加到对象上的
02 变量和函数
声明、初始化
定义函数
03 约定和语法
. 类比 寻址
; 是一段结尾
缩进 有利于阅读
// /*。。。。*/ 两种注释方法
04 IF语句
if(xx>xx){...;}
else if(xx<xx){...;}
else{...;}
05 循环
3种
- while
- do while
- for
06 作用域和访问修饰符
public、private
作用范围
类也可以 公开,在其他脚本可以访问
07 Awake and Start
Awake 在初始化之前,即使脚本没有激活,也会调用
Start 在脚本初始化时候
08 Update 和 FixedUpdate
Update 间隔时间不固定,FixedUpdate间隔时间固定 0.02s
ctrl+shift+M 调出方法()工具

09 矢量数学
文档:向量
dot()
Cross()
10 11 启用和禁用组件 激活游戏对象
object.enabled = true;
激活子物体、激活层级
12 移动和旋转

局部坐标
Vector3.forward
Vector3.up
13 Look At
也是物体移动的一种方法,改变局部坐标的方向
14 销毁
销毁对象,可以挂在其他对象销毁这个对象
销毁组件,如 MeshRenderer组件,以不显示
延时销毁
15 GetButton/Key
有3种状态:
- GetButtonDown
- GetButton
- GetButtonUp
五种情况
- 没有按下
- 刚按下
- 保持按下
- 刚松开
- 松开后(和1同)
- 2-3 GetButton True
bool down = Input.GetKeyDown(KeyCode.Space);
bool held = Input.GetKey(KeyCode.Space);
bool up = Input.GetKeyUp(KeyCode.Space);
用来获得 按键状态
---
16 GetAxis(摇杆)
这个是获得 浮点值(-1,1)

重要属性:
- Gravity
- Dead
- Sensitivity
- Snap
18 OnMouseDown
用于触发点击事件
19 GetComponent
需要调用很多资源,只在最开始(Awake 项目载入)使用

20 DeltaTime

需要用DeltaTime 来让运动变平滑,因为每帧的时间间隔不是固定的

给物体运动 每个时间间隔,而不是update的帧
21 数据类型

Value 数据类型 的数据更改,不会改变赋值对象
Reference 指向同一地址,会改变赋值对象
22 类
盒子、机器、工厂
把每个类 做单一,执行简单的功能

分成三个类

容易写、阅读、编程效率高

构造函数,用来创建。。。
ctor 创建一个 结构体(Stuff)
怎么设计函数结构?怎么编写一个大类?
23 实例化

Instantiate 有不同版本
发射的 要在一定时间后 销毁
24 数组
可以在unity中设置 数组的内容
也可以获取到所有数组内容,再循环操作

25 Invoke

在start里用 Invoke/InvokeRepeating (请求)
需要 暂停 Invoke,使用 CancelInvoke
26 Enumerations 枚举
用于建立 用代号表示的一组数据
可以指定每个数据的数值(编号)、数据类型

27 Switch 语句
》 相比 if else 更精简

default 相当于 else 包含其他没考虑的情况