Unity 2D - 根据屏幕宽度缩放精灵

时间:2015-04-17 13:30:52

标签: unity3d 2d sprite

我有一个方形精灵(宽度==高度),我想缩放它,使宽度和高度都恰好是屏幕宽度的五分之一。

要找到所需的像素宽度:

float desiredWidthPixels = Screen.width * 0.2f;
float desiredHeightPixels = Screen.width * 0.2f;

如何将这些值应用于精灵?

1 个答案:

答案 0 :(得分:1)

这取决于你的相机是否是正交的。

您必须向上或向下缩放对象,具体取决于其原始大小。

 float cameraHeight = Camera.main.orthographicSize * 2;
 float cameraWidth = cameraHeight * Screen.width / Screen.height; // cameraHeight * aspect ratio

 gameObject.transform.localScale = Vector3.one * cameraHeight / 5.0f;

代码进入附加到GameObject的脚本文件(在你的情况下是精灵),因为gameObject意味着它所在的游戏对象。如果您是从另一个脚本文件执行此操作,则需要先在树中找到该对象,然后再进行缩放。