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