如何解决GODOT - 基于动态变量选择一个数组
我在一个函数中创建了 5 个数组。当我调用该函数时,我通过调用传入一个“类型”(它是该函数接受的唯一参数)。我想根据传入的类型获取其中一个数组。
例如,假设我调用 _get_random_message('closer')
,我想从函数内部获取 pool_closer
数组。
我目前使用 match 语句使其正常工作(并且工作正常)但它有很多额外的代码,如果我不需要,我宁愿不在那里!
我想做类似的事情(我试过了,但没有用):
var pool_to_use = get("pool_" + str(type))
我已经搜索并搜索无济于事,所以我希望这里有人可以帮助我解决如何根据传入的变量获取该数组。
感谢任何/所有帮助!
解决方法
我建议你使用字典。您可以将“类型”用作字典的键,并将数组用作值。这将使代码更短,并且更容易添加更多数组。我相信您将需要使用您想要的数组初始化字典,您可以在 _init
中执行此操作:
var _arrays:Dictionary
func _init() -> void:
_arrays = {
"closer": []
}
func _get_random_message(type_name:String) -> Array:
return _arrays.get(type_name)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。