1. 程式人生 > >GODOT遊戲程式設計003---- Instancing

GODOT遊戲程式設計003---- Instancing

網址:http://docs.godotengine.org/en/3.0/getting_started/step_by_step/instancing.html

位置:Docs » Step by step » Instancing

Instancing 引用?
建立一個簡單的場景增加一些節點可以做些小專案,但隨著專案變大變複雜,節點的數目很快就無法管理。GODOT允許一個專案分割成很多場景,這樣就可以組織你遊戲的不同部分了。
之前說到一個場景可以有不同的節點組成節點樹,你也可以建立足夠多的場景並儲存。
一個場景之間可以被另一個場景引用。
場景被引用
下面是一個例子。
下載提供的資源包並解壓:

http://docs.godotengine.org/en/3.0/_downloads/instancing.zip
用GODOT開啟,匯入剛剛解壓的檔案。目錄為/instancing/instancing
開啟後是這樣的:
滾輪上下可以縮放
在右邊的場景是主場景,也就是這個線條組成的碗。
點選加號旁邊的連結按鈕,新增一個球的場景。ball.tscn
連結按鈕
這裡寫圖片描述
球會出現在(0,0)座標位置。可以再次連結,就會多一個球,也可以選中球后按CTRL+D複製一個球,複製的球在同樣位置,滑鼠拖動一下就能看到另一個了。
把球拖到碗口上方,點選執行,看看效果。
執行看看
執行時發現一下滑鼠會多一個球,哈,估計是裡面設定的。
點一下多一個球
回到godot,修改一下球的彈跳力,在右下角ball屬性面板,Bounce修改成1,看看效果。
修改Bounce為1

執行,可以看到球跳的高了。每個球都得單獨設定。
可以看到在Bounce後面多了一個圓圈箭頭,是恢復預設設定。
恢復預設設定


小結一下:場景可以有多個,通過連結按鈕連結其他場景,可以用ctrl+d複製。場景引數可調整。

繼續,Instancing (continued)

http://docs.godotengine.org/en/3.0/getting_started/step_by_step/instancing_continued.html

Instancing很有用,簡單來說你可以:
The ability to subdivide scenes and make them easier to manage.可以細分場景易於編輯
A more flexible alternative to prefabs (and much more powerful given that instances can be nested).更靈活地巢狀
A way to organize and embed complex game flows or even UIs (in Godot, UI Elements are nodes, too).複雜遊戲管理和嵌入的一種方式。
但是,引用場景的最大作用是它是一種非常棒的設計語言。這也是GODOT區分其他遊戲引擎的顯著特點,godot就是在這個概念的基礎上壯大的。(我想,可以說:一切皆是節點(場景),皆可引用)
用GODOT做遊戲,我們建議要多想想你的場景,從圖形化的元素開始想,任何一個人都容易想到。寫下你可以想到的你遊戲裡的元素,用箭頭編注彼此之間的關係。
例


一旦你畫出了上面的表格,接下來的建議是為每一個元素建立場景,你可以用引用(程式設計或直接連結)建立聯絡。
Godot可以讓我們更直接更快地製作遊戲,讓你更加關注遊戲的邏輯。因為一切皆場景,程式設計會更少。
再舉個列子。
例,很多元素的遊戲
如上圖,我們可以先從小場景入手,一個個做好,連結上大場景,並把它放到大地圖上。然後再設計幾個npc的場景,把他們放進去。最後,複製一下。
像這樣,你可以很容易重複新增元素。

———小結———
-一切皆場景。連結成網。
不由讓我想到了一句話:所見即所得。

不要急,慢慢來。To be continued…