我有一个方形精灵(宽度==高度),我想缩放它,使宽度和高度都恰好是屏幕宽度的五分之一。根据屏幕宽度统一2D尺度精灵
找到所需的像素宽度我做的:
float desiredWidthPixels = Screen.width * 0.2f;
float desiredHeightPixels = Screen.width * 0.2f;
我该如何申请这些值的精灵?
我有一个方形精灵(宽度==高度),我想缩放它,使宽度和高度都恰好是屏幕宽度的五分之一。根据屏幕宽度统一2D尺度精灵
找到所需的像素宽度我做的:
float desiredWidthPixels = Screen.width * 0.2f;
float desiredHeightPixels = Screen.width * 0.2f;
我该如何申请这些值的精灵?
这取决于你的相机是不是正字法。
您将不得不根据其原始大小向上或向下缩放对象。
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(在你的情况下是精灵)的脚本文件。如果你是从另一个脚本文件中完成的,那么在缩放它之前,你需要首先在树中找到对象。
谢谢,我试过你的解决方案,下面是发生了什么事情: 精灵现在看起来一样所有的屏幕,虽然它的宽度等于整个屏幕宽度,不只是五分之一。任何想法为什么发生这种情况?另外,我的相机是orthographic –
我认为这取决于你的精灵的原始大小。你可以玩5.0f - 例如25.0f – cocojiambo
如果你想要一个更精确的值,我建议你考虑使用float的双精度值。至于你的问题,看看[这个文件](http://michaelcummings.net/mathoms/creating-2d-animated-sprites-using-unity-4.3)。 – CalebB
谢谢,但我的问题不是关于制作精灵动画,我只需要知道如何将这些值应用到精灵,以便它调整到所需的宽度/高度(我需要从脚本中完成) –
我把它那么没读过那篇文章呢? – CalebB