Tiled Layer层空报错问题

原创 2015年07月07日 17:13:05

<1>

TMXLayer * TMXTiledMap::parseLayer(TMXLayerInfo *layerInfo, TMXMapInfo *mapInfo)
{
    TMXTilesetInfo *tileset = tilesetForLayer(layerInfo, mapInfo);
    
    if (!tileset) {//added by DehengXu
        return nullptr;
    }
    
    TMXLayer *layer = TMXLayer::create(tileset, layerInfo, mapInfo);

    // tell the layerinfo to release the ownership of the tiles map.
    layerInfo->_ownTiles = false;
    layer->setupTiles();

    return layer;
}

<2>

void TMXTiledMap::buildWithMapInfo(TMXMapInfo* mapInfo)
{
    _mapSize = mapInfo->getMapSize();
    _tileSize = mapInfo->getTileSize();
    _mapOrientation = mapInfo->getOrientation();

    _objectGroups = mapInfo->getObjectGroups();

    _properties = mapInfo->getProperties();

    _tileProperties = mapInfo->getTileProperties();

    int idx=0;

    auto& layers = mapInfo->getLayers();
    for(const auto &layerInfo : layers) {
        if (layerInfo->_visible)
        {
            TMXLayer *child = parseLayer(layerInfo, mapInfo);
            
            if (child == nullptr) {//added by DehengXu
                continue;
            }

            addChild(child, idx, idx);
            
            // update content size with the max size
            const Size& childSize = child->getContentSize();
            Size currentSize = this->getContentSize();
            currentSize.width = std::max( currentSize.width, childSize.width );
            currentSize.height = std::max( currentSize.height, childSize.height );
            this->setContentSize(currentSize);
            
            idx++;
        }
    }
}
<3>

// private
TMXLayer * TMXTiledMap::parseLayer(TMXLayerInfo *layerInfo, TMXMapInfo *mapInfo)
{
    TMXTilesetInfo *tileset = tilesetForLayer(layerInfo, mapInfo);
    
    if (!tileset) {//added by DehengXu
        return nullptr;
    }

    TMXLayer *layer = TMXLayer::create(tileset, layerInfo, mapInfo);

    // tell the layerinfo to release the ownership of the tiles map.
    layerInfo->_ownTiles = false;
    layer->setupTiles();

    return layer;
}
<4>

void TMXTiledMap::buildWithMapInfo(TMXMapInfo* mapInfo)
{
    _mapSize = mapInfo->getMapSize();
    _tileSize = mapInfo->getTileSize();
    _mapOrientation = mapInfo->getOrientation();

    _objectGroups = mapInfo->getObjectGroups();

    _properties = mapInfo->getProperties();

    _tileProperties = mapInfo->getTileProperties();

    int idx=0;

    auto& layers = mapInfo->getLayers();
    for(const auto &layerInfo : layers) {
        if (layerInfo->_visible)
        {
            TMXLayer *child = parseLayer(layerInfo, mapInfo);
            
            if (child == nullptr) {//added by DehengXu
                continue;
            }
            
            addChild(child, idx, idx);
            
            // update content size with the max size
            const Size& childSize = child->getContentSize();
            Size currentSize = this->getContentSize();
            currentSize.width = std::max( currentSize.width, childSize.width );
            currentSize.height = std::max( currentSize.height, childSize.height );
            this->setContentSize(currentSize);
            
            idx++;
        }
    }
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

svn无法更新(提交)报错 javahl.ClientException: Working copy not locked;提交报错-RA layer request failed的解决方法

A、更新解决方法 更新报错是eclipse把src文件夹中的.svn文件夹也"编译"到WEB-INF/classes中去了,而复制过来的.svn中存储的是src文件夹中的版本信息,从而导致在更新时出...

Cursor mCursor = db.rawQuery(sql,null);一直为空!!报错!!建议:勿急勿躁,一步一步重新执行,最终发觉问题

好久没写了,今天被一个问题给搞得头疼,就像是发烧的征兆,实质是头疼脑大的啦~\(≧▽≦)/,好了,不多说,今天遇到的问题,都是不细心! 问题:Cursor mCursor = db.rawQuery...

FTP报错错误问题

  • 2012-03-03 22:53
  • 22KB
  • 下载

caffe 追加新层new layer添加.cu文件问题--无法解析的外部符号

caffe 追加新层后,生成时出现链接错误,无法解析的外部符号,错误内容与新层有关。 caffe-windows\Build\Int\libcaffe\x64\Release文件夹下没有 y...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)