point = convertToNodeSpace(point);
point.x = static_cast(point.x / map->getTileSize().width);
point.y = static_cast((map->getTileSize().height * map->getMapSize().height - point.y) / map->getTileSize().height);
auto *layer = map->getLayer(“bg1”);
auto gid = layer->tileGIDAt(point);
log(“gid:%d”, gid);
if (gid == 0)
return true;
auto p = map->getPropertiesForGID(gid).asValueMap();
if (!p"walk"].isNull() && !p"walk"].asBool()){ //判断点击位置是否在可移动范围内
return false;
}
就是这段 代码 这段代码是tilemap的碰撞检测 但是 auto gid = layer->tileGIDAt(point); 这里的GID 无论我把主角移动到哪 总是0不知怎么回事。。 tmx的tilesize= 8*8 不知和这个有光吗?


