Unity可视化脚本:如何创建Enum并获取其整数值?
Unity可视化脚本中枚举的创建与转整数方法
一、可视化脚本创建自定义枚举的方法
目前Unity可视化脚本(Visual Scripting)确实没有直接在图形编辑器内创建自定义枚举的功能,只能通过C#脚本定义后供可视化脚本调用——你现在的做法是正确的,只要把写好枚举的C#脚本放在Assets目录下(确保被Unity编译),可视化脚本就能识别并使用这个枚举类型。
二、获取枚举整数值的简便方法
要实现等效于C#中(int)currentSpeed的功能,有两种简单方案:
方案1:在C#脚本中新增属性(最省心)
直接在你的C#脚本里加一个只读属性,提前把枚举转成整数,可视化脚本直接读取这个属性即可:
public enum Speeds { Slow = 0, Normal = 1, Fast = 2, Faster = 3, Fastest = 4 }; public Speeds currentSpeed; // 新增属性,直接返回枚举对应的整数值 public int CurrentSpeedInt => (int)currentSpeed;
之后在可视化脚本里,直接拖拽这个CurrentSpeedInt变量使用,无需额外转换操作。
方案2:可视化脚本内直接用转换节点(无需修改C#)
如果不想改动C#脚本,在可视化脚本的节点列表里搜索Convert To Integer节点,将你的currentSpeed枚举变量连接到该节点的输入端口,节点输出的就是对应的整数值,完全等效于(int)currentSpeed。
这两种方法都比用Switch分支判断高效得多,不用写大量冗余逻辑。
内容的提问来源于stack exchange,提问作者Tom Crochet
相关产品推荐
相关产品推荐

