我有一个LibGDX游戏。
游戏实际上包含许多单独的子游戏(情节)。每个插曲实际上是一个完全不同的游戏(通常是一个不同的世界,演员/游戏对象,材质)。
否,我不需要编码转换的顺序(完成后的第1集->-第2集->第N集。]
每个情节实际上是一个Screen(ScreenAdapter)类,在Episode1类中,我有一个引用Episode2的字段(在创建和设置Episode1实例时,我将该字段设置为Episode2实例)。与Episode2-> Episode3等相同]
我觉得这样做像这样的情节“链接列表”非常脆弱。
什么是做得更好的最佳方法?
现在我必须从LibGDX中的currentEpidodeScreen对象调用setScreen(nextEpisodeScreenObjRef)。
我不会说这种设计是“易碎的”,但是一个简单的设计是拥有所有情节的数组/列表,并且每个情节也都知道其索引。
然后情节更改为setScreen(episodes.get(index + 1))
这些情节可以传递给每个情节,也可以单身。这种设计的副作用是您可以从任何情节移至其他任何情节。
下一步是在非线性情节序列或基于用户与情节交互方式的多个nextIndex的情况下也具有nextIndex字段