Unity2D - 在构建时,背景比应该更短

时间:2018-02-09 14:03:36

标签: unity3d graphics 2d

在编辑器中,一切正常,但是当我将游戏构建到手机上时,背景似乎在顶部和底部都很短。

这是手机版的截图。

这是Unity的截图。

我检查了所有尺寸,它们都是相同的 - 800x1280。我认为当我使用四边形无限移动阴天背景时问题就开始发生了。 到处检查,似乎无法确定问题所在。

1 个答案:

答案 0 :(得分:2)

您应根据屏幕尺寸调整背景大小。你可以通过代码来做到这一点。如果您使用的是Sprite Renderer,则可以按此link进行操作。以下是根据上述链接调整sprite大小所需的主要代码。

void Awake() {
    SpriteRenderer spriteRenderer = GetComponent<SpriteRenderer>();

    float cameraHeight = Camera.main.orthographicSize * 2;
    Vector2 cameraSize = new Vector2(Camera.main.aspect * cameraHeight, cameraHeight);
    Vector2 spriteSize = spriteRenderer.sprite.bounds.size;
    Vector2 scale = transform.localScale;
    if (cameraSize.x >= cameraSize.y) { // Landscape (or equal)
        scale *= cameraSize.x / spriteSize.x;
    } else { // Portrait
        scale *= cameraSize.y / spriteSize.y;
    }
}

或者,如果您使用Panel下的用户界面Canvas绘制背景,则可以在边缘点上设置锚点,并将“画布”UI Scale Mode设置为{ {1}}

相关问题