繁体   English   中英

如何将我的游戏缩放到不同的纵横比?

[英]How do I scale my game to different aspect ratios?

我是 Unity 和一般编程的新手,所以请像我是个白痴一样跟我说话(因为我就是一个白痴)。

我正在为 android(我的第一款游戏)制作一款破砖游戏。 我专门为我的手机制作了它,它有一个 1440x3200 屏幕,但我希望它可以缩放到任何屏幕尺寸。

我对屏幕两侧和顶部的墙的解决方案是让它们非常长,然后我使用一些我在网上找到的代码将它们固定在屏幕的两侧和顶部。 这可能不是做事的正确方法,但它确实有效。

不过,我现在面临的问题是,如果我改变屏幕的大小,积木的大小和间距保持不变。 如何使砖块和它们之间的距离随屏幕尺寸缩放?

到目前为止,这是我尝试过的方法,但它根本不起作用......

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LevelScaler : MonoBehaviour
{
    private float xModifier;
    private float yModifier;
    private Vector3 scale;
    private Vector3 newScale;

    void Start()
    {
        scale = transform.localScale;
        xModifier = Screen.width / 1440f;
        yModifier = Screen.height / 3200f;
        newScale = new Vector3(scale.x * xModifier, scale.y * yModifier, scale.z);
        transform.localScale = newScale;
    }
}

    

1440 x 3200 1440 x 2560

那要看:

如果您在 canvas 上使用 2D 元素,那么您可以使用Canvas Scaler来设置 UI Scale Mode: Scale With Screen Size

否则你可能想使用: https://docs.unity3d.com/ScriptReference/Screen.SetResolution.html强制你的首选分辨率

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM