import cocos
from cocos.tiles import load
from cocos.layer import ScrollingManager
from cocos.director import director
from cocos.scene import Scene
director.init()
MapLayer = load("themap.tmx")
scroller = ScrollingManager()
scroller.add(MapLayer)
director.run(Scene(scroller))
刚开始使用cocos并试图找出Tilemaps。得到荒谬的错误,并会感激一些帮助。
答案 0 :(得分:1)
当您在cocos2d-python中加载tmx文件时,您将获得一个Resource对象,其中包含有关地图的更多数据,而不仅仅是图层。同样重要的是,地图可以有多个层。
ScrollingManager需要图层对象,而不是资源对象。要获取要从Resource对象中添加的图层,您可以像字典一样访问它,如下所示:
MapLayer = load("themap.tmx")["The name of the layer"]
以下是我自己的测试地图的修改示例:
import cocos
from cocos.tiles import load
from cocos.layer import ScrollingManager
from cocos.director import director
from cocos.scene import Scene
director.init()
loaded_tmx = load("test.tmx")
MapLayer = loaded_tmx["Tile Layer 1"]
scroller = ScrollingManager()
scroller.add(MapLayer)
director.run(Scene(scroller))
作为预警,cocos2d-python中当前版本的TMX文件处理无法正确处理最新版本的TMX文件格式。我必须做一些修改才能让它发挥作用。