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
Tags : godot godot