[Unity] enum(枚举)在脚本之间的引用 |
您所在的位置:网站首页 › unity获取其他脚本的变量 › [Unity] enum(枚举)在脚本之间的引用 |
本文章所有代码在2021.3.15f1c1版本的编辑器下正常运作 一、enum的介绍 enum是一种特殊的C语言对象类型,在Unity中的使用较为广泛,具体介绍可以搜索研究,以下为一个实例 //声明枚举的名称,并声明枚举中的元素 enum Unit {START,PLAYERTURN,END} //基于已声明的枚举创建变量,该变量的值只能在枚举中的元素中选择 Unit unit; //为变量赋值的语句格式 unit = Unit.START(也可以是Unit.PLAYERTURN或者Unit.END)二、脚本之间的enum引用 以下为两个脚本,第一个脚本定义了枚举的名称与其中的元素,并创建了一个基于该枚举的变量,并赋值为START,第二个脚本则可以对第一个脚本中创建的变量进行引用与修改 GameSystem.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class GameSystem : MonoBehaviour { //首先声明枚举的名称,并声明枚举中的元素 //此处的public极为重要 public enum GameState {START,PLAYERTURN,END}; //基于已声明的枚举创建变量 public GameState state; //为该变量赋值(其中GameState必须写明) state = GameState.START; }ChangeTurn.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class ChangeTurn : MonoBehaviour { //首先引入上一个脚本定义的类(GameSystem),将名字保存为GS public GameSystem GS void Start() { //如果想要引用上一个脚本中基于枚举的变量的值,应使用如下代码 var state1 = GS.state //如果想要修改上一个脚本中基于枚举的变量的值,应使用如下代码 //这一代码中的GameSystem.GameState请使用全拼 //运行过程中代码会从上一脚本中引入枚举,并为这一变量赋值 GS.state = GameSystem.GameState.END } }三、总结 在本文章中简单介绍了enum的定义,以及在不同脚本之间的引用,在下不才,如有纰漏欢迎在评论区中指出。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |