godot typeof()函数为什么得到的是一个数字呀,我
godot吧
全部回复
仅看楼主
level 4
木木1742715 楼主
godot typeof()函数为什么得到的是一个数字呀,我想要判断一个节点的类型不应该输出的是它的类型吗,比如一个Area2D节点对应得到'Area2D',是我的用法不对还是怎么回事,这得到一个数字有点不像话呀,而且我测试好几种类型typeof()后数字竟然一样[惊哭],有人能给讲解下这其中的来龙去脉吗
2021年01月06日 01点01分 1
level 4
木木1742715 楼主
回复权限啥时候关了,我说怎么没人回复呢[汗],大意了
2021年01月10日 02点01分 2
吧务
level 14
[狂汗]回复权限竟然可以关闭……[滑稽]不过既然这个问题在另外一贴回答了,就在这里链接过去。或许有类似问题的,可能会找到这贴:https://tieba.baidu.com/p/7182419785
2021年01月11日 12点01分 3
level 1
GDScript的typeof返回的不是类型名,而是类型的枚举
这个枚举定义在
GlobalScope的 enum Variant.Type,你去看看就知道了。
也就是说你用typeof 拿到的是TYPE_* 的常量。
另外提醒一下,玩家自定义的类用typeof得到的是 TYPE_OBJECT= 17,所以不要妄想用typeof来判断对象是哪个类,你拿到的永远是TYPE_OBJECT。Object基类有个get_class方法,但是很可惜,这个方法只能拿到内置类那一层的类名,比如你继承了Control写了个类,get_class得到的还是Control而不是你自己的类名。
最后你可以用is来判断是不是目标类。
if value is MyClass:
pass
2021年01月15日 15点01分 4
[真棒]讲的清晰,明白了
2021年02月08日 00点02分
1