本文使用的代码编辑器为VSCode
安装插件有:
-
通过将变量设置为public,可以直接在unity的Inspector面板中看到相关变量。此时可直接将需要的素材拖拽到变量处。 -
[SerializeField]可序列化:定义后可以使非公共的属性也显示在unity面板
-
[Range]指示inspector 为我们的值提供一个可选的范围.
-
[SerializeFiled]/[Serializable]强制使私有字段/类可序列化,可以在unity面板直接编辑
-
[RequireComponent (typeof(componentType))]标记必须的组件
-
使用=>常用来定义只读属性,只有getter没有setter。
Awake()方法
只要物体被加到场景就会执行一次
FixedUpdate()方法
每个物理时间步进调用
OnValidate()方法
脚本加载时以及在inspector里调整数值后调用
委托类
delegate用于定义委托类,委托某个方法来实现具体的功能。
委托的定义与方法的定义是相似的:
public delegate void MyDelegate();
枚举类
public enum 枚举类名{}
默认情况下,枚举的每个标签表示一个整数。第一个标签对应于0,第二个标签对应于1,依此类推。
将其用作索引时,我们必须显式地执行此强制转换
枚举类作为脚本属性时,将在编辑器界面创建下拉列表。
定义属性访问器
C#中可以在属性后添加大括号定义其访问器。例如
public int attr {get;private set};
get表示可以从类的外部读取
private set表示只能在类的内部修改。