用像素设置精灵的大小

Setting a sprite's size with pixels

我是 C# 的新手,但我了解大部分基础知识。我知道这个问题已经被问过很多次了,经过近 2 个小时的搜索,我似乎仍然找不到有效的答案,所以请耐心等待。

我正在为 iOS 创建一个 2D Unity 游戏,我需要能够获取屏幕的大小,(我知道怎么做,它是 Screen.width / Screen.height) 然后,设置精灵的大小。我正在尝试在屏幕上显示 7 个精灵(宽度方向),但我需要它根据设备进行调整。硬编码数字在这里不起作用。因此,为了实现这一点,我需要一种按像素缩放的方法,我不确定该怎么做,或者是否可以使用 Unity。如果还有其他方法,请告诉我。

(是的,我试过使用Rect和RectTransform,要么没有满足我的需要,要么我用错了。可能是。)

我想出来了,我必须使用数学函数的组合来确定屏幕的宽度,我必须从那里完善一些数字。

以下是有效方法的一般概念:

//Declaration Of Variables
float blockSize = Screen.width / 8.75f;
float blockDistanceX = Screen.width / 8.75f;
void Start()
{
    //Extra variables that couldn't be declared earlier
    float xValue = blockDistanceX * -1f * 3.8f;
    float layerPos = -1500;

    //Creates new Block
    GameObject block = Instantiate(objectPrefab, new Vector3(0, 0, 1), Quaternion.identity, parent: canvas);
    block.transform.localScale = new Vector2(blockSize, blockSize);
    block.transform.localPosition = new Vector2(xValue, layerPos);
}