LibGDX游戏中管理GameEpisode1-> GameEpisode2-> GameEpisode3…的顺序的模式

问题描述 投票:1回答:1

我有一个LibGDX游戏。

游戏实际上包含许多单独的子游戏(情节)。每个插曲实际上是一个完全不同的游戏(通常是一个不同的世界,演员/游戏对象,材质)。

否,我不需要编码转换的顺序(完成后的第1集->-第2集->第N集。]

每个情节实际上是一个Screen(ScreenAdapter)类,在Episode1类中,我有一个引用Episode2的字段(在创建和设置Episode1实例时,我将该字段设置为Episode2实例)。与Episode2-> Episode3等相同]

我觉得这样做像这样的情节“链接列表”非常脆弱。

什么是做得更好的最佳方法?

现在我必须从LibGDX中的currentEpidodeScreen对象调用setScreen(nextEpisodeScreenObjRef)。

java design-patterns libgdx 2d-games
1个回答
1
投票

我不会说这种设计是“易碎的”,但是一个简单的设计是拥有所有情节的数组/列表,并且每个情节也都知道其索引。

然后情节更改为setScreen(episodes.get(index + 1))

这些情节可以传递给每个情节,也可以单身。这种设计的副作用是您可以从任何情节移至其他任何情节。

下一步是在非线性情节序列或基于用户与情节交互方式的多个nextIndex的情况下也具有nextIndex字段

© www.soinside.com 2019 - 2024. All rights reserved.