当前位置: 首页>>代码示例>>C++>>正文


C++ TMXTiledMap::setContentSize方法代码示例

本文整理汇总了C++中TMXTiledMap::setContentSize方法的典型用法代码示例。如果您正苦于以下问题:C++ TMXTiledMap::setContentSize方法的具体用法?C++ TMXTiledMap::setContentSize怎么用?C++ TMXTiledMap::setContentSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在TMXTiledMap的用法示例。


在下文中一共展示了TMXTiledMap::setContentSize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: createNodeWithFlatBuffers


//.........这里部分代码省略.........
                 errorFilePath = path;
                 fileExist = false;
             }
             break;
         }
             
         default:
             break;
     }
     if (fileExist)
     {
         /* Whether tileset is valid. */
         auto mapInfo = TMXMapInfo::create(path);
         auto& layers = mapInfo->getLayers();
         bool valid = false;
         std::string layerName = "";
         for (const auto &layerInfo : layers)
         {
             valid = false;
             
             if (layerInfo->_visible)
             {
                 Size size = layerInfo->_layerSize;
                 auto& tilesets = mapInfo->getTilesets();
                 if (tilesets.size()>0)
                 {
                     TMXTilesetInfo* tileset = nullptr;
                     for (auto iter = tilesets.crbegin(); iter != tilesets.crend(); ++iter)
                     {
                         tileset = *iter;
                         if (tileset)
                         {
                             for( int y=0; y < size.height; y++ )
                             {
                                 for( int x=0; x < size.width; x++ )
                                 {
                                     int pos = static_cast<int>(x + size.width * y);
                                     int gid = layerInfo->_tiles[ pos ];
                                     
                                     if( gid != 0 )
                                     {
                                         if( (gid & kTMXFlippedMask) >= tileset->_firstGid )
                                         {
                                             valid = true;
                                             break;
                                         }
                                     }
                                 }
                                 
                                 if (valid)
                                 {
                                     break;
                                 }
                             }
                         }
                     }
                 }
                 
                 if (!valid)
                 {
                     layerName = layerInfo->_name;
                     break;
                 }
             }
             else
             {
                 valid = true;
             }
         }
         
         if (!valid)
         {
             Node* node = Node::create();
             setPropsWithFlatBuffers(node, (Table*)gameMapOptions);
             auto label = Label::create();
             label->setString(__String::createWithFormat("Some error of gid are in TMX Layer '%s'", layerName.c_str())->getCString());
             node->setScale(1.0f);
             node->addChild(label);
             return node;
         }
         /**/
         
         tmx = TMXTiledMap::create(path);
         if (tmx)
         {
             //prevent that editor's data does not match in size and resources
             Size fileSize = tmx->getContentSize();
             setPropsWithFlatBuffers(tmx, (Table*)gameMapOptions);
             tmx->setContentSize(fileSize);
         }
     }
     else
     {
         Node* node = Node::create();
         setPropsWithFlatBuffers(node, (Table*)gameMapOptions);
         return node;
     }
     
     return tmx;
 }
开发者ID:602147629,项目名称:PlanetWar,代码行数:101,代码来源:GameMapReader.cpp


注:本文中的TMXTiledMap::setContentSize方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。