如果Godot脚本A和B都扩展了脚本C,A和B是否共享与C中相同的变量名?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果Godot脚本A和B都扩展了脚本C,A和B是否共享与C中相同的变量名?相关的知识,希望对你有一定的参考价值。

我是Godot引擎的新手。

如果gd脚本A和B都扩展了脚本C,并且var_c是脚本C中的变量,那么A中使用的var_c与B中使用的var_c是否不同?

所以我的脚本A和B扩展了脚本C。A和B表示有限语句机中的不同状态。例如,在最初安装Godot的有限状态机演示中(来自Steam),说C是motion.gd,而A,B是move.gd和jump.gd。

我正在C中引入一个变量var_c,希望它被A和B“共享”,因为如果var_c在状态A下被更新(比如我写的话)>

var_c = 123

在脚本A)中,当我进入状态B时,我希望访问var_c的更新值,例如

if var_c == 123:
     print("A and B seem to share the same value of var_c!")

[不幸的是,我在状态A中调用的var_c看起来独立于在状态B中调用的var_c。我可能犯了一个错误,但我想知道它在总体上是否正确。

A中使用的var_c和B中使用的var_c是否相同?如果它们不同,我该如何彼此访问?像A.var_c和B.var_c吗?

谢谢。

我是Godot引擎的新手。如果gd脚本A和B都扩展了脚本C,并且var_c是脚本C中的变量,那么A中使用的var_c与B中使用的var_c是否不同?所以我的脚本A和B扩展了...

答案

如果每个脚本都有唯一的名称(例如:examplescriptA.gd和examplescriptB.gd),则其中包含的变量应该是该脚本的局部变量,因为Godot不能真正严格地识别全局变量。如果要使用等效的全局变量系统(即,可以从任何其他脚本访问和更新的一组变量),则应使用singletons

文档在这里-https://docs.godotengine.org/en/stable/getting_started/step_by_step/singletons_autoload.html

以上是关于如果Godot脚本A和B都扩展了脚本C,A和B是否共享与C中相同的变量名?的主要内容,如果未能解决你的问题,请参考以下文章

SQL*Plus中怎么执行多个*sql脚本文件

第五课-第四讲05_04_bash脚本编程之三 条件判断及算术运算

输入两个自然数a和b,判断b是不是是a的因数,输出判断结果 python?

Shell 脚本之 if 判断

如何包含具有相对路径的 bash 脚本? [复制]

shell 脚本 if 判断多个条件