大家好

最近研究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")

 

 

就是從 根目錄 來往下取得物件

基本邏輯就是這樣

 

希望對大家有幫助啦