大家好
最近研究godot 的 get_node
發現蠻神奇的
假設我會在 world 場景中動態新增 end_menu 這個選單
但是我新增之後會希望修改裡面的 label 的文字
該怎麼做呢?
重點是如何取到 label 這個節點
world 是主場景
end menu 是用程式動態加上去的
我想要取得 best score label 這個物件
我可以在 end menu 的 script 中使用get_node來取得
var nowNode = get_node("./CanvasLayer/VBoxContainer/BestScoreLabel")
重點在路徑一開始用的 點
那個 點 代表的是自己目前的位置
也就是 end menu
所以從這邊開始往下的路徑就是
/CanvasLayer/VBoxContainer/BestScoreLabel
這樣就比較好理解了
也就是說
如果你有動態新增場景或是物件
要取得自己底下的節點時候
可以從 點 (也就是目前位置) 開始出發
所以你也可以用
get_node("/root/World/Camera2D")
就是從 根目錄 來往下取得物件
基本邏輯就是這樣
希望對大家有幫助啦
留言板
歡迎留下建議與分享!希望一起交流!感恩!