【问题标题】:Cocos-2dx v3 centering background sprite problemsCocos-2dx v3 居中背景精灵问题
【发布时间】:2016-03-21 23:06:36
【问题描述】:

这是我的背景图片:

这里有一些代码,我假设会缩放此图像以完全适合屏幕。

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();

那么这就是我得到的,这也不完全正确:

【问题讨论】:

    标签: cocos2d-x cocos2d-x-3.0


    【解决方案1】:

    使用VisibleSize是正确的,你只需要再做一点改变:

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

    cocos2d-x默认使用ResolutionPolicy::NO_BORDER,所以winSize的底部很可能会被裁剪掉。 getVisibleSize()Point 而不是像素中返回可见原点。

    【讨论】:

    • 跟他现在用的有什么区别?为什么你的答案效果更好?这实际上只是一个随机建议,直到您创建一些上下文并解释事情为止。
    • 谢谢,看起来好多了。
    猜你喜欢
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多