void Player::setTagPosition(int x, int y){ auto spriteSize = m_node->getContentSize(); Vec2 dstPos = Vec2(x + spriteSize.width / 2, y); Vec2 tiledPos = tileCoorForPosition(Vec2(dstPos.x, dstPos.y)); int tiledGid = meta->getTileGIDAt(tiledPos); if (tiledGid != 0){ Value properties = m_map->getPropertiesForGID(tiledGid); ValueMap propertiesMap = properties.asValueMap(); if (propertiesMap.find("Collidable") != propertiesMap.end()){ Value prop = propertiesMap.at("Collidable"); if (prop.asString().compare("true") == 0){ return; } } if (propertiesMap.find("food") != propertiesMap.end()){ Value prop = propertiesMap.at("food"); if (prop.asString().compare("true") == 0){ TMXLayer* barrier = m_map->getLayer("barrier"); barrier->removeTileAt(tiledPos); } } } Entity::setTagPosition(x, y); setViewPointByPlayer(); }