作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
“GlobalScope” 类定义了许多基本枚举,例如 Error
枚举。
我正在尝试在发生错误时生成有意义的日志。但是打印类型为 Error
的值只打印整数,这不是很有帮助。
关于 enums 的 Godot 文档表示查找值应该像时尚一样在字典中工作。但是,尝试访问 Error[error_value]
错误:
The identifier "Error" isn't declared in the current scope.
最佳答案
在您引用的文档中,它解释了枚举基本上只是创建了一堆常量:
enum {TILE_BRICK, TILE_FLOOR, TILE_SPIKE, TILE_TELEPORT}
# Is the same as:
const TILE_BRICK = 0
const TILE_FLOOR = 1
const TILE_SPIKE = 2
const TILE_TELEPORT = 3
# Manually print TILE_FLOOR's name as a string, then its value.
print("The value of TILE_FLOOR is ", TILE_FLOOR)
所以如果你的目标是有描述性的错误输出,你应该以类似的方式这样做,也许像这样:
if unexpected_bug_found:
# Manually print the error description, then actually return the value.
print("ERR_BUG: There was a unexpected bug!")
return ERR_BUG
const MyDict = {
NORMAL_KEY = 0,
'STRING_KEY' : 1, # uses a colon instead of equals sign
}
func _ready():
print("MyDict.NORMAL_KEY is ", MyDict.NORMAL_KEY) # valid
print("MyDict.STRING_KEY is ", MyDict.STRING_KEY) # valid
print("MyDict[NORMAL_KEY] is ", MyDict[NORMAL_KEY]) # INVALID
print("MyDict['STRING_KEY'] is ", MyDict['STRING_KEY']) # valid
# Dictionary['KEY'] only works if the key is a string.
这以自己的方式很有用,但即使在这种情况下,我们也假设手头已经有了与标识符名称显式匹配的字符串,这意味着我们也可以像第一个示例一样手动打印该字符串。
关于enums - 如何在Godot中将全局枚举值转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61984338/
我是一名优秀的程序员,十分优秀!