加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 21:17:04 所属栏目:百科 来源:网络整理
导读:this-_map = TMXTiledMap::create(tmxFile);this-_barriers = this-_map-getLayer("barriers");this-_states-setVisible(false);//如果直接在editor中设置invisible,getLayer会返回nullptr// findauto layerSize = this-_states-getLayerSize();auto tiles =
	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 &)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读