我是Coco2d-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视网膜显示演示,但我在Xcode中找不到iphone retina模拟器,只能找到Ipad Retina,我的模拟器版本是IOS9.3,这真的很烦人,因为我不能使用像这样的代码。
node->setPosition(Point::ZERO);若要将节点设置为零位置,由于大小问题,此对象将不可见。
有人能帮帮我吗?
发布于 2017-02-03 09:26:18
通过调用Director::getInstance()->getVisibleSize();获得的分辨率不是真正的设备的分辨率。这是你的Design Resolution。
此外,如果您想更多地了解cocos2d-x的简单多分辨率机制,请检查my other answer。
注意屏幕的左下角是由Origin Point而不是Point::ZERO决定的。
https://stackoverflow.com/questions/38163138
复制相似问题