我是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
我去谷歌,发现iphone 6的大小远远大于我从cocos2d-x代码(320 x 480点)和大约模拟器获得的大小,该教程使用iphone retina来显示演示,但我无法在我的Xcode中找到iphone Retina模拟器,我只能找到Ipad Retina,而我的模拟器版本是IOS9.3,这真的很烦人,因为我不能使用像
这样的代码node->setPosition(Point::ZERO);
要将节点设置为ZERO位置,由于尺寸问题,此对象将不可见。
有人能帮助我吗?
答案 0 :(得分:1)
通过调用Director::getInstance()->getVisibleSize();
获得的分辨率不是真实设备的分辨率。这是你的Design Resolution
。
此外,如果您想了解有关cocos2d-x
简易多分辨率机制的更多信息,请查看my other answer。
请注意,屏幕的左下角由Origin Point
而不是Point::ZERO
确定。