我在LibGDX编写我的第一个游戏,部分游戏玩法在元素之间有混合逻辑(类似于涂鸦神或小炼金术)。通过阅读和观看指南,我尝试使用LibGDX类Stage
,Actor
(对于元素)和Group
(对于组织元素)设计此逻辑,但后来我意识到我每个元素都需要一个actor。因为我打算拥有超过150个,所以为每个创建一个java类确实不是最佳选择。我也不知道存储所有逻辑的有效方法,因此我可以通过单个调用查找组合(我不想在方法中编写一百万个if
语句)。
我想知道是否有一种简单而优雅的方式。提前谢谢!
P.S。:元素之间的唯一区别是它们的纹理,它们进入的组以及它们组合的元素。
答案 0 :(得分:1)
确实有一种模式目前很适合做你期望的事情。它被称为实体组件系统(或ECS)。
它需要转变思考如何开发游戏,但它值得,尤其是它的模块化和可重用性。
维基百科有很多detailed article about it。
libgdx有Ashley这是他们的ECS实施的好事。
答案 1 :(得分:0)
如果可以,可以重用Actors吗?
如果我们谈论逻辑。 您可以对逻辑进行分组并为每个组编写函数。 不要使用ifs,使用开关和枚举。
也许如果你告诉我们更多,那么我们可以带来一些创新。