在godot中,乙個遊戲的啟動大致流程如下:
簡而言之,godot的main啟動乙個程序,載入所需的驅動裝置(如渲染裝置:gl/gles/vulkan等)、音訊裝置,輸入控制器裝置等等;然後進入主迴圈,載入乙個自動建立的物件——scenetree(場景管理系統物件,它使用者管理場景圖),這個物件包含乙個rootviewport節點(它是乙個node),該節點包含乙個預設的viewport(以便提供預設渲染的輸出視口)。
然後,每當使用者用godot編輯器建立乙個關卡(或場景檔案),並設定預設的啟動的場景檔案,godot將該場景檔案的根節點附加到rootviewport節點上,當節點進入場景樹(scenetree),變為活動狀態。按場景樹順序依次**各個子節點的_init(),_ready()等宣告函式。
從乙個場景切換為另乙個場景,根unity3d差不多,提供了兩個方式:
1 get_tree().change_scene("res://levels/level2.tscn")
或
var next_scene = preload("res://levels/level2.tscn")其中,第二種方式比較適合預先載入資源快取到記憶體或gpu快取中,然後在不同關卡之間來回切換;而第一種比較適合只需要一次場景切換而不需要來回切換的情況。get_tree().change_scene_to(next_scene)
譯 Godot系列教程三 場景例項化(續)
場景例項化帶來很多便利的用法,總體來說有 場景例項化真正強悍的地方就在於它是以一種卓越的設計語言的機制執行的。這一點使得godot區別於其它引擎,並有很大的不同。godot整個引擎從底層開始都是圍繞著這個概念進行設計的。在使用godot製作遊戲時,建議把mvc或er圖這樣的設計模式先拋開一邊,而開始...
Ubuntu上構建Godot的VS Code工程
對於windows程式設計師來說,都喜歡在ide上開發。vs code是微軟開發的,技術實力和號召力毋庸置疑,所以在linux上用vs code是乙個非常好的選擇。我使用的組合是windows vmware workstation 16 player ubuntu 20.04.2.0。由於需要安裝各...
jQuery delegate 樹應用場景
delegate 方法為指定的元素 屬於被選元素的子元素 新增乙個或多個事件處理程式,並規定當這些事件發生時執行的函式。selector delegate childselector,event,data,function childselector 必需。規定要新增事件處理程式的乙個或多個子元素。...