LibGDX中的演员太多了?

时间:2016-01-05 10:39:51

标签: java libgdx scene2d

我在LibGDX编写我的第一个游戏,部分游戏玩法在元素之间有混合逻辑(类似于涂鸦神或小炼金术)。通过阅读和观看指南,我尝试使用LibGDX类StageActor(对于元素)和Group(对于组织元素)设计此逻辑,但后来我意识到我每个元素都需要一个actor。因为我打算拥有超过150个,所以为每个创建一个java类确实不是最佳选择。我也不知道存储所有逻辑的有效方法,因此我可以通过单个调用查找组合(我不想在方法中编写一百万个if语句)。

我想知道是否有一种简单而优雅的方式。提前谢谢!

P.S。:元素之间的唯一区别是它们的纹理,它们进入的组以及它们组合的元素。

2 个答案:

答案 0 :(得分:1)

确实有一种模式目前很适合做你期望的事情。它被称为实体组件系统(或ECS)。

它需要转变思考如何开发游戏,但它值得,尤其是它的模块化和可重用性。

维基百科有很多detailed article about it

libgdx有Ashley这是他们的ECS实施的好事。

答案 1 :(得分:0)

如果可以,可以重用Actors吗?

如果我们谈论逻辑。 您可以对逻辑进行分组并为每个组编写函数。 不要使用ifs,使用开关和枚举。

也许如果你告诉我们更多,那么我们可以带来一些创新。