cocos2d-x v3.6 使用TMXLayer::getTiles遍历瓦片地图块

	this->_map = TMXTiledMap::create(tmxFile);
	this->_barriers = this->_map->getLayer("barriers");
	this->_states->setVisible(false);//如果直接在editor中设置invisible,getLayer会返回nullptr
	// find
	auto layerSize = this->_states->getLayerSize();
	auto tiles = this->_barriers->getTiles();
	auto tilesEnd = tiles + static_cast<uint32_t>(layerSize.width * layerSize.height);
	for (; tiles < tilesEnd; ++tiles) {
		if (*tiles != 0) {
			auto properties = this->_map->getPropertiesForGID(*tiles).asValueMap();
			if (!properties.empty()) {
				if (properties["property_name"].asstring() == "1") {
					break;
				}
			}
		} //if
	}



这里还有些注意事项,

auto properties = this->_map->getPropertiesForGID(*tiles).asValueMap();
这里不能用引用方式(auto &)

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...