2014-02-10 134 views
2

我使用libgdx scene2d開始了2D自上而下的遊戲,我喜歡它是如何實現的,它的邏輯以及程序員如何使用它(例如stage.act()調用actor.act(delta)爲每個註冊的Actor)。現在我來談談如何將這個邏輯用於3D遊戲。我知道scene2d主要用於UI,而不是用於遊戲,尤其不適用於3D。但我的3D遊戲邏輯就像2D自上而下。讓我解釋一下:你,玩家,正處於迷宮中。你只能與牆壁碰撞,在每個高度上都是一樣的。所以碰撞檢測將與2D自上而下相同。你也不能跳,只能向前走,向後走......所以運動也會與2D自頂向下相同。只有視圖,所以繪圖,將是第一人稱,所以3D。濫用scene2d僅適用於邏輯,並使用Model等等來進行3D繪圖會不好?我只是想用scene2d,所以我不必自己寫「所有註冊對象立即行動」的方法。你怎麼看待這件事?Libgdx scene2d 3D遊戲與2D邏輯?

回答

2

在這種情況下,您可以使用scene2d,如果您想要捕捉演員的輸入事件,例如鼠標點擊。

這實際上是scene2d的主要用途之一(以及爲什麼它主要用於UI)。另一個原因是能夠將演員分組,但我認爲你不需要這個。

如果您不想捕獲遊戲對象上的輸入事件,那麼您不應該使用scene2d。

模擬做什麼scene2d的Stage是保持着List<Entity>,並呼籲entity.update(delta)容易(相當於stage.act())和entity.render(delta)(相當於stage.draw()),列表中的每個實體。

+0

因此,更容易管理這個我自己而不是使用scene2d? – Springrbua

+0

如果你不想點擊你的「演員」,是的。否則,scene2d會很有用。 – noone

+0

非常感謝!我希望我能夠做一個簡單的3D遊戲xD + 1 – Springrbua