这是我的背景图片:
以下是一些代码,我会假设将此图像缩放以完全适合屏幕。
Size visibleSize = Director::getInstance()->getVisibleSize();
auto bg = Sprite::create("grad.png");
bg->setScale(visibleSize.width / bg->getContentSize().width, visibleSize.height / bg->getContentSize().height);
bg->setAnchorPoint(Vec2(0,0));
addChild(bg);
我希望这4行能够创建一个覆盖整个屏幕大小的背景精灵。但是,这是我在iPhone6 +上实际获得的屏幕截图:
如果我将第一行更改为
Size visibleSize = Director::getInstance()->getWinSize();
然后这就是我得到的,这也不是正确的:
答案 0 :(得分:1)
使用VisibleSize
是正确的,您只需要再做一次更改:
bg->setPosition(director->getVisibleOrigin());
默认情况下,cocos2d-x使用ResolutionPolicy::NO_BORDER,因此winSize的底部可能会被裁剪。
getVisibleSize()
以点而不是像素返回可见原点。