cocos2d-x iphone 模拟器分辨率

cocos2d-x iphone simulator resolution

我是cococ2d-x游戏库的新手,正在学习如何在iphone6中制作一个简单的游戏。我用的SKD是Xcode,但是我在模拟器中屏幕分辨率有问题,情况如下:

auto visibleSize = Director::getInstance()->getVisibleSize();
Vec2 origin = Director::getInstance()->getVisibleOrigin();

CCLOG("visibleSize: visibleSize.width=%f, visibleSize.height=%f",visibleSize.width,visibleSize.height);
CCLOG("origin: origin.x=%f, origin.y=%f",origin.x, origin.y);

我用这段代码打印可见尺寸,结果如下:

visibleSize: visibleSize.width=180.281693,visibleSize.height=320.000000
origin: origin.x=149.859161, origin.y=0.000000

我去 google 发现 iphone 6 的尺寸比我从 cocos2d-x 代码得到的尺寸大很多(320 x 480 点)大约模拟器,教程是用iphone retina来演示的,但是我在Xcode里找不到iphone Retina模拟器,只能找到Ipad Retina,我的模拟器版本是IOS9.3,这真的很烦人,因为我不能使用像

这样的代码
node->setPosition(Point::ZERO);

将节点设置为零位置,由于大小问题,此对象将不可见。

有人可以帮我吗?

您调用Director::getInstance()->getVisibleSize();获得的分辨率不是真实设备的分辨率。这是你的 Design Resolution

此外,如果您想了解更多有关 cocos2d-x 简单 multi-resolution 机制的信息,请查看 my other answer

注意屏幕的 bottom-left 点是由 Origin Point 而不是 Point::ZERO 决定的。