Cocos-2dx v3居中背景精灵问题

时间:2016-03-21 23:06:37

标签: cocos2d-x cocos2d-x-3.0

这是我的背景图片:

enter image description here

以下是一些代码,我会假设将此图像缩放以完全适合屏幕。

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 +上实际获得的屏幕截图:

Image isn't centered

如果我将第一行更改为

Size visibleSize = Director::getInstance()->getWinSize();

然后这就是我得到的,这也不是正确的:

enter image description here

1 个答案:

答案 0 :(得分:1)

使用VisibleSize是正确的,您只需要再做一次更改:

bg->setPosition(director->getVisibleOrigin());

默认情况下,cocos2d-x使用ResolutionPolicy::NO_BORDER,因此winSize的底部可能会被裁剪。 getVisibleSize()而不是像素返回可见原点。