void ResMap::onLoadComplete(ResTask* pTask) { ResBase::onLoadComplete(pTask); GameMap* pMap = gGameLayer->getCurrMap(); // ´´½¨Ä£ºý±³¾° Sprite* pBg = Sprite::create(pMap->getMapBgFileName()); if ( pBg ) { float scaleX = (float)pMap->getMapWidth()/pBg->getContentSize().width; float scaleY = (float)pMap->getMapHeight()/pBg->getContentSize().height; pBg->setScaleX(scaleX); pBg->setScaleY(scaleY); pBg->setAnchorPoint(Point::ZERO); pMap->addChild(pBg,-9999); } else { LOGE("can't find map file[%s]",pMap->getMapBgFileName()); } gGameLayer->addChild(pMap); gHero->EnterMap(pMap,m_nCX,m_nCY); gLoadingUI->SetPercent(100.f, 4.f); LOGD("========ResMap::onLoadComplete========="); gNetDispatcher->Unlock(); }
GameMap* GameMap::createGameMap(char* mapName){ GameMap* gameMap = GameMap::create(); auto map = GameMap::loadMap(mapName); map->setPosition(gameMap->getContentSize() / 2 - map->getContentSize() / 2);//设置居中 gameMap->_map = map; gameMap->registerInspectObjects(); gameMap->addChild(map); return gameMap; }