【问题标题】:Cocos2d Python - AttributeError: 'Resource' object has no attribute 'set_view'Cocos2d Python - AttributeError:“资源”对象没有属性“set_view”
【发布时间】:2017-09-27 04:47:21
【问题描述】:
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。遇到荒谬的错误,希望能得到一些帮助。

【问题讨论】:

  • 您找到解决方案了吗?

标签: python cocos2d-python


【解决方案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 文件格式。我必须进行一些修改才能使其正常工作。

【讨论】:

    猜你喜欢
    • 2018-10-04
    • 1970-01-01
    • 2021-08-20
    • 2020-09-11
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2015-03-28
    相关资源
    最近更新 更多