所以我对游戏开发并不熟悉,现在还不知道任何模式。试图自己解决这一切,这是我坚持的一个问题。为更新循环插入对象的更好的解决方案
我有这个级别叫BowLevel。它有更新敌人列表,处理碰撞等的更新方法。
但是,我实现添加对象到这些列表的方式感觉不对。它只是没有意义。
这里是我的抽象类Enemy
public Enemy (Vector2 position, int level)
{
this.position = position;
BowLevel.enemies.add(this);
state = PawnState.WALK;
this.level = level;
}
有了这个构造我不会能够以一敌添加到这以外的任何其他级别。 但是,将我的关卡对象传递给所有类的每个构造函数似乎都是错误的。
有没有更好的方法来解决这个问题?
'“有了,我将无法以一敌添加到这以外的任何其他级别。” ' - 这没有意义。这将如何限制增加另一个敌人对象到不同的水平? –
1)不要让它变成静态的,2)你只是将一个实例添加到敌人集合中,你可以添加其他层次的其他实例。 3)如果你有游戏处理自己的敌人集合,包括增加什么以及如何增加,而不是基于敌人构造函数的副作用改变状态,那么这可能是最好的。 –
@HovercraftFullOfEels就像'enemies.add(新敌人())'是一个更好的解决方案? – maklas