我正在处理一个图块编辑器。在编辑器中,您可以加载瓦片贴图。每个瓷砖地图可以有多个图层。瓷砖地图有它的图层列表。我现在需要图层类中的图块地图属性(比如瓦片宽度/高度等)。我现在问自己最好的办法是什么。从子类中访问父属性的最佳方法
我能在层类引入tilemap的属性的双向关系,使我有机会获得的一切,我从那里需要。但是,我将不得不照顾双方的关系。我可以用构造函数给图层类提供所有需要的属性,但它们基本上变成了图层属性(也就是说,它们是每个图层的不同对象)。
与2相同,但将属性赋予具有“ref”参数的图层。
我可以做一个叫做TileMapLayerProperties的类,在这里我把所有的属性都放进去然后把对象传递给图层类。好处是所有的属性都是一样的,只有tileMapLayerProperties引用是每个实例。另一个优点是层构造器的“定义”变得更短。
所以,任何建议/技巧将不胜感激。
你是对的,属性是不可变的,它们是int的,所以它们是复制的,这就是为什么我写这部分(应该更加精确)“,但它们基本上成为图层属性(又名它们是每个图层的不同对象)”。有了ref,我想给图层提供参考,所以当我在地图上改变它们时,它们会在图层中发生变化。您的界面建议听起来很有趣,可能是最好的解决方案。 –
我结束了使用选项4 – TruthOf42