2015-04-17 224 views
0

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

找到所需的像素宽度我做的:

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

我该如何申请这些值的精灵?

+0

如果你想要一个更精确的值,我建议你考虑使用float的双精度值。至于你的问题,看看[这个文件](http://michaelcummings.net/mathoms/creating-2d-animated-sprites-using-unity-4.3)。 – CalebB

+0

谢谢,但我的问题不是关于制作精灵动画,我只需要知道如何将这些值应用到精灵,以便它调整到所需的宽度/高度(我需要从脚本中完成) –

+0

我把它那么没读过那篇文章呢? – CalebB

回答

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(在你的情况下是精灵)的脚本文件。如果你是从另一个脚本文件中完成的,那么在缩放它之前,你需要首先在树中找到对象。

+0

谢谢,我试过你的解决方案,下面是发生了什么事情: 精灵现在看起来一样所有的屏幕,虽然它的宽度等于整个屏幕宽度,不只是五分之一。任何想法为什么发生这种情况?另外,我的相机是orthographic –

+1

我认为这取决于你的精灵的原始大小。你可以玩5.0f - 例如25.0f – cocojiambo