
了解基本剖析 Unity 的 C# 之前,可前往阅读 脚本如何在Unity中工作 ,以便了解执行传递脚本的流程。
在大多数程序中都需要脚本代码,它允许我们创建自己的组件、触发游戏事件。当加载脚本时,会加载脚本中的所有变量。使用上图文法,显示每个语句的执行树和推导。
那么变量是整个脚本执行过程中存在的实例,它保存游戏中的重要数据,例如:速度、碰撞、偏好、进度等。变量名以小写字母或下划线开头。Unity 遵循 Pascal 命名约定。
语法:公共类型变量名,示例:公众浮动速度。
在这里,类型可以是 float、bool、颜色、相机、刚体、int 等内容。“variable_name” 可以是任何用户定义的用于表示数据的名称。
函数是花括号 { } 中的块,它有助于减少脚本中的行数,因为它可以在调用时多次调用。函数名以大写字母开头。
开始 ()是 Unity 中使用的预定义方法。在 C# 脚本中,此方法用于初始化变量,在脚本执行开始时运行。在 MonoBehaviour 中的 Update () 之前开始 () 调用。
Update () 是 Unity 中使用的预定义方法。仅当启用 MonoBehaviour 时,才会在每一帧中调用 Update 方法。更新是实现任何游戏行为最常用的函数。在 MonoBehaviour 中的 Start () 之后调用 Update ()。在处理刚体时,应使用
FixedUpdate () 而不是 Update () 。
例如,当向刚体添加力时,必须在 FixedUpdate () 内的每个固定帧中施加力,而不是在 Update () 内的每个帧中施加力。
delayed update () 仅在启用 MonoBehaviour 时在每一帧中调用。在调用了所有 Update () 函数之后调用 LateUpdate (),这对于安排脚本执行很有用。
例如,FollowCamera 跟随相机应始终在 LateUpdate () 中实现,因为它跟踪可能已在 Update () 内移动的对象。
接下来用一个示例以便大家更好地理解:
这是一个简单的 C# 脚本(阅读 Unity如何创建C#脚本),附加了游戏对象来打开和关闭灯。

一个名为 DemoScript.cs 的脚本与 灯光 游戏对象相连,如下图 Inspector 中所示。

在 Update() 方法中,有一个 if 条件 Input.GetKey (“space”) 告诉用户当用户按下键盘上的空格键时,语句 myLight.enabled = true 将启用灯光属性 true 并且灯光打开游戏窗口。否则声明 myLight.enabled = false 将使灯光属性为 false 并且灯光熄灭。

如上内容及图所示,在脚本事件中,它是控制游戏中一些特定行为的逻辑。脚本本质上是一个有序的动作列表,并按列表执行,当重要的功能性和可读性无法继续则可能会在控制台出现语法错误,脚本将停止执行。当然在上述处理对象的过程,它可以是灯光,也可以是场景中任何游戏对象,并附加到游戏中,实现任何想要的游戏事件。