Cocos2d-x — CCDirector :: sharedDirector () -> getWinSize () возвращает совершенно неверное значение на Win32

У меня возникли проблемы с cocos2d-x, которые я не могу решить в одиночку, поэтому прошу вашей помощи. Я хотел создать свою собственную CCScene с CCLayer — как часть моего обучения cocos2d-x. Все работает нормально, кроме размера сцены. Отчет CCDirector :: sharedDirector () -> getWinSize () полностью испортил разрешение, например 0 х 108134400… и я не знаю, что я делаю неправильно.

Вот мой класс

.h
#pragma once
#include "cocos2d.h"
class zfGameScene : public cocos2d::CCLayer
{
public:
static cocos2d::CCScene* scene();
virtual bool init();
CREATE_FUNC(zfGameScene);
};

Aaaaand

.cpp
#include "zfGameScene.h"#include "cocos2d.h"
using namespace cocos2d;

CCScene* zfGameScene::scene(){
CCScene * scene = NULL;
do
{
scene = CCScene::create();
CC_BREAK_IF(! scene);

zfGameScene *layer = zfGameScene::create();
CC_BREAK_IF(! layer);

scene->addChild(layer);
} while (0);

return scene;
}

bool zfGameScene::init(){
bool returnValue = false;
while(!returnValue){
CC_BREAK_IF(!CCLayer::init());

// This one is for loading the scene :P
CCSize winSize = CCDirector::sharedDirector()->getWinSize();
CCLog("[zfGameScene] Initialising with %d x %d...", winSize.width, winSize.height);

CCSprite *background = CCSprite::spriteWithFile("background.png", CCRect(0, 0, 2048, 1536));
this->setScale(1);
this->setPosition(ccp(0, 0));
this->addChild(background);

returnValue = true;
}

return returnValue;

}

Заранее спасибо за помощь.

0

Решение

Ширина и высота поплавка. Просто измените свой код следующим образом:

CCLog("[zfGameScene] Initialising with %f x %f...", winSize.width, winSize.height);
0

Другие решения

Других решений пока нет …