godot自動載入
這功能和舊版完全一樣純粹做個紀錄,設定以後這個場景會一直存在且不會受到場景轉換影響,執行測試時可以看到設定的場景會被加入在root底下。
這個功能通常用於通用程式或儲存全域變數,比如說玩家分數使用這個方式儲存,就不會因為更換關卡(場景)而消失。
官方文件:https://docs.godotengine.org/en/stable/tutorials/scripting/singletons_autoload.html
使用上就是建立新場景使用Node節點放程式
之後在專案->專案設定->autoload中設定自動載入檔案,並確認啟用是打勾就可以使用了
比如說我設定了一個autoload程式如下
extends Node
#訊號 發送給其他抓取用
signal score_updated
signal player_died
var score: = 0 :
set (value):
score = set_score(value)
get:
return score
var deaths: = 0 :
set = set_deaths
func set_score(value: int) -> int:
emit_signal("score_updated")
return value
func set_deaths(value: int) -> void:
deaths = value
emit_signal("player_died")
這樣其他地方就可以用autoload設定的名稱.東西呼叫
#節點名稱為PlayerData
func die() -> void:
PlayerData.deaths += 1
queue_free()
如果啟用未勾選的話如下
var player_Data = get_node("/root/PlayerData")
player_Data.deaths += 1