Я использую cocostudio и экспортирую из него сцену, где он экспортирует файлы .plist, .png и .json. Сцена работает нормально в iphone retina 3,5 дюйма, но масштабирование не идеальное в ipad и iphone. масштабирование при использовании .json и импорт полной сцены uin различных устройств в функции init, которую я пишу

CCNode *pFishJoyScene = SceneReader::sharedSceneReader()->createNodeWithSceneFile("FishJoy2.json");
this->addChild(pFishJoyScene);             
cocos2d::extension::ActionManager::shareManager()->playActionByName("startMenu_1.json","Animation1"); 

Раньше я использовал CCSize winsize = CCDirector :: sharedDirector () -> getwinSize () ;. При использовании этого я использовал для масштабирования всех вещей.

Но в случае с json нам не нужно писать это, так как мы создаем сцену в cocostudio. Подскажите, пожалуйста, как контролировать масштабирование на разных устройствах при использовании .json

Я взял образцы из https://github.com/chukong/CocoStudioSamples

Я запускаю проект, названный в приведенном выше примере DemoFishingjoy. Если вы запустите этот образец проекта на разных устройствах, это приведет к проблемам с масштабированием. Пожалуйста, помогите

0
Rajan Maheshwari 5 Мар 2014 в 08:41

2 ответа

Лучший ответ

Что ж, ответ таков: все, что я беру, будь то сцена или что-то еще, я беру в узле. Просто масштабируйте узел, и все будет идеально. Например,

CCNode *pFishJoyScene = SceneReader::sharedSceneReader()->createNodeWithSceneFile("FishJoy2.json");
this->addChild(pFishJoyScene);
cocos2d::extension::ActionManager::shareManager()->playActionByName("startMenu_1.json","Animation1");

CCSprite *bg=CCSprite::create("startMenuBG.png");
float rX=winSize.width/bg->getContentSize().width;
float rY = winSize.height/bg->getContentSize().height;


pFishJoyScene->setScaleX(rX);
pFishJoyScene->setScaleY(rY);

Тогда вы увидите на любом устройстве, что оно работает идеально

0
Rajan Maheshwari 11 Мар 2014 в 04:24
I hope this will help you.for scaling in skeletonAnimation setScaleX() and setScaleY() are used 

      CCSkeletonAnimation* skeletonAnimRun = CCSkeletonAnimation::createWithFile("horse.json", "horse.atlas");
            skeletonAnimRun->setAnimation("run", true);
            skeletonAnimRun->timeScale = 1.0f;
            skeletonAnimRun->setScaleX(.2f);
            skeletonAnimRun->setScaleY(.2f);
            skeletonAnimRun->setPosition(x/5, y/2);
            skeletonAnimRun->setSkin("black");
            skeletonAnimRun->setSlotsToSetupPose();
            addChild(skeletonAnimRun,10);
0
Sumit Kandoi 5 Мар 2014 в 10:36