脚本效果
创建一个Label
节点,并在Label
节点上每帧打印出某个GameObject
的所有变量。
注意:额外演示了如何打印出游戏对象的速度var v = prototype_player.velocity
要点
- 这个脚本应该依附在一个独立的
Control
节点上 prototype_player
的路径需要根据你实际的游戏对象节点做出修改。variable_settings
需要指定到你真实的变量设置节点的名称(有些人会在此之前自己修改过这个名称)
核心
extends Control
@onready var prototype_player: GameObject = $"../.."
@onready var variable_settings: VariableSettings = $"../../VariableSettings"
@export var label: Label
func _ready() -> void:
if not label:
print_rich("[color=red][b]please assign label![/b][/color]")
func _process(_delta: float) -> void:
if not label:
return
var v = prototype_player.velocity
var new_text = ""
new_text += "velocity : %s" % [v]
new_text += "\n"
var all_variables = variable_settings.get_variables()
for i:VariableData in all_variables:
new_text += "%s: %s \n" % [str(i._variable_name),str(i.get_value())]
pass
label.text = new_text