Я использую последнюю версию cocos-2dx-3.0 после этого урока.
http://www.raywenderlich.com/39113/cocos2d-x-tile-map-tutorial-part-1
Я сделал очень простой файл tmx, он загружается нормально, и я добавляю его на экран, но ничего не отображается, только пустой экран. Вот код:
bool HelloWorld::init()
{
if ( !Layer::init() )
{
return false;
}
Size visibleSize = Director::getInstance()->getVisibleSize();
Point origin = Director::getInstance()->getVisibleOrigin();
auto tileMap = cocos2d::TMXTiledMap::create("tileset.tmx");
tileMap->setPosition(Point(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
this->addChild(tileMap, 0);
//auto sprite = Sprite::create("HelloWorld.png");
//sprite->setPosition(Point(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));
//this->addChild(sprite, 0);
return true;
}
Таким образом, пошаговое выполнение всего выглядит нормально, он находит файл, и я вижу все его свойства, но при добавлении в слой ничего не отображается. Чтобы убедиться, что все остальное подключено правильно, 3 строки, прокомментированные ниже, отлично работают, загружаются и отображаются на экране. У кого-нибудь есть идеи, почему это может происходить?
Итак, после нескольких часов отладки я понял, что все на самом деле работает отлично. Проблема была в моем файле .tmx, в углу которого было большое пустое место, где я еще ничего не поместил (просто пытался загрузить что-то изначально). Однако изначально загрузка увеличивалась в нижний левый угол, который был пустым, заставляя меня думать, что ничего не загружено.
Других решений пока нет …