【发布时间】:2013-04-12 16:44:46
【问题描述】:
警告:这里是 Xna Noobie。
我正在制作一个 2d、自上而下的 rpg,有点像口袋妖怪。在我的游戏中,除了主游戏类之外,还有一个玩家类和一个地图类。我是否应该为地图的每个区域设置单独的类(例如 Town.cs、Forest.cs、River.cs),如果是,它们是否应该从父类继承?或者我应该只有一个通用 MapRegion 类,并且让地图的每个区域都只是 MapRegion 的一个实例?
【问题讨论】:
-
“取决于”。通常,您希望将所有公共数据和功能放在一个位置(BaseClass),并将特殊数据和功能放在特殊位置(ChildClasses)。因此,如果城镇表现不同于森林或河流,则具有不同的子类。只要您记得将所有常见的东西保留在基类中,拥有很多子类就没有什么坏处。如果您想将代码从一个子类复制并粘贴到另一个子类:不要!而是将其放在基类中。并且每当您使用地图变量时,将它们设为基类类型并用合适的子类填充它们。
-
我认为你最好有一个单独的类
MapRegion读取某种配置以在其上创建所有“东西”。如果整个区域需要表现不同,请使用 MapRegion 的子类,否则我会制作一个 MapRegion 仅由一堆图块组成。每个图块都可以指定自己的行为和事件,以便地图可以保持简单......