Godot Engine:如何設置Sprite的前後遮擋關係

本文也是《[手把手帶你Godot遊戲開發]案例一:1.Hello World》中問題的答案

問題

如何把“地面”放到“草坪”的前面

在這裏插入圖片描述

解決方案
1. 改變的順序

在本案例中,場景結構比較簡單,只要在場景視圖中,改變一下"Floor"和"Background"的順序即可,越下方的Sprite越顯示在上方
在這裏插入圖片描述
草坪就到前面來了

在這裏插入圖片描述

2. 設置Z Index

上面方法的前提條件是這兩個SpriteZ Index 是相同的,因爲Node2D(Sprite的基類)中的 Z Index 是比" 順序"更具決定權的參數, Z Index越大越顯示在前端,在兩個SpriteZ Index不同的情況下,無論怎樣改變它們的“順序”,遮擋關係都不會改變。更好的方法是把"Floor"的 Z Index設得比"Background"大一些。

在這裏插入圖片描述

3. 使用YSort節點

還有些更復雜的情況,比如下圖《星布穀物語》這種俯視視角的遊戲,遊戲運行時隨着角色的遮擋關係會隨時改變,這樣的話我們實時計算並設置物體的Z Index也是很麻煩的
在這裏插入圖片描述

Godot提供了一個YSort 節點,它會實時通過子節點的Y座標,來實時處理遮擋關係,十分方便。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章