我正在设计一个 2D 游戏来练习 Java 和面向对象编程(我正在使用 JSFML 库,如果有帮助的话),我对如何最好地设计以下内容有疑问:
我正在使用的库提供了一个Drawable
由可见游戏元素(玩家、敌人、背景等)实现的界面。我也有一个RenderWindow
我将在其上绘制Drawable
对象。
事情是这样的,RenderWindow
有一个在当前Window上draw(Drawable d)
绘制对象的方法,而对象有一个在传递的上绘制当前对象的方法。Drawable
Drawable
draw(RenderWindow r)
Drawable
RenderWindow
如果他们做的事情基本相同,我应该使用哪一个?为什么?我应该考虑什么来决定?我使用 HashMap 来存储Drawable
对象。我应该将 HashMap 中的 传递RenderWindow
给Drawables
还是将 HashMap中的 传递Drawables
给RenderWindow
?任何建议表示赞赏。