如何通过Code在Unity 3D中设置对象图像的比例?

时间:2016-05-25 03:59:12

标签: android iphone unity3d

我是一个新的团结3D开发人员我通过c#代码创建一个按钮并将图像设置为按钮,但该图像显示小。 如何调整缩放图像的大小?

2 个答案:

答案 0 :(得分:2)

如果这是Image组件,您可以使用新的Vector3分配给Image.rectTransform.localScale。我建议您使用Vector3代替Vector2,以便始终可以使用1作为 Z 值。下面的代码将x和y缩放为4,然后将z保留为1。

public Image myImage;

void Start()
{
    myImage.rectTransform.localScale = new Vector3(4, 4, 1);
}

对于Texture2D,请使用以下方法。

public Texture2D myImage;
void Start()
{
    myImage.Resize(4, 4);
    myImage.Apply();
}

Sprite

public Sprite myImage;
void Start()
{
    myImage.texture.Resize(4,4);
    myImage.texture.Apply();
}

SpriteRenderer

public SpriteRenderer myImage;
void Start()
{
    myImage.transform.localScale = new Vector3(4, 4, 1);
}

GUI.Button

float x = 300;
float y = 300;
float width = 150;
float height = 150;

void OnGUI()
{
    if (GUI.Button(new Rect(x, y,width, height), new GUIContent(icon)))
    { 

    }

    //scale width
    width = 400;

    //scale height
    height = 400;
}

答案 1 :(得分:1)

缩放UI.Button

var rt = this.gameObject.GetComponent<RectTransform>();
rt.anchorMin = new Vector2( 0.5, 0.5 ); 
rt.anchorMax = Vector2.one;
rt.offsetMin = rt.offsetMax = Vector3.zero; 

或者,您可以使用offsetMin / offsetMax,以防您只支持一个屏幕大小。在这种情况下,offsetMin / offsetMax表示像素数量。