我目前正在开发一款带有
python 3.12.2
、Tiled Map Editor 1.10.1
和 python arcade 2.6.17
的平台游戏,但我看到了一些东西:当我尝试访问 对象层 时,我收到此错误:
KeyError:“场景不包含名为:object_layer 的图层”
当我清楚地看到我的图层已定义并且它存在于我的平铺地图时
我目前正在尝试像这样访问我的
object_layer
:
self.scene["object_layer"]
其中
self.scene
的定义如下:
self.tile_map = arcade.load_tilemap(map_name)
self.scene = arcade.Scene.from_tilemap(self.tile_map)
我做错了什么还是一个错误? 我在官方文档中做了一些研究,但我什么也没发现。
如有任何帮助,我们将不胜感激。 😀
看起来我试图使用错误的方法访问平铺地图中的对象图层。我没有尝试直接从场景访问对象层,而是使用了街机库提供的
get_layer_by_name
方法。
我将代码更改为以下内容:
self.tile_map = arcade.load_tilemap(map_name)
self.scene = arcade.Scene.from_tilemap(self.tile_map)
object_layer = self.tile_map.get_layer_by_name("object_layer")
这解决了我的问题,并允许我访问平铺地图中的对象层。
遗憾的是,Python Arcade 库没有足够的文档。