2024年8月3日星期六

记录一次关于GetNode方法的GoDot 4.2 (采用c#脚本)的踩坑

note1

记录一次关于GetNode方法的GoDot 4.2 (采用c#脚本)的踩坑

前言:笔者是第一次使用godot,c#的一些高级特性也不是很精通.今天在跟着b站上视频教程时遇到了奇怪的问题,具体报错如下

在这里我实现了Fsm类,并在一个Main.cs文件中导入这个节点GetNode<Fsm>("%Fsm")

将此行_fsm = GetNode<Fsm>("%Fsm");注释并使用GetNode("%Fsm"),发现返回值为Node,并且该Node实例没有任何属性.

 

原因和解决

windows的godot4.2没有对场景的自动保存,因此在为场景添加c#脚本后需要手动保存,否则即使创建了c#脚本文件,但是没有和场景进行绑定.

由此,在前面的代码中实际上节点Fsm是不在节点Main下的.

手动指定Script后恢复正常.

QQ_1722675297455

 

0 评论:

发表评论