1
最近我一直在使用Sprite.Create函數。我正在使用C#編寫一個可以拉伸和更改大小的邊框,但我不想讓白色邊框伸展。我試圖創建自己的紋理,並且當我打印出一些像素的值時,它似乎很好。但是當我使用Sprite.Create的紋理時,它不起作用,只顯示一個灰色方塊。下面是代碼:Unity2D:Sprite.Create不支持我需要的功能
`void updateSprite(){
transform.localScale = new Vector3 (scale.x, scale.y, 0);
SpriteRenderer rend = GetComponent<SpriteRenderer>();
Texture2D tex = new Texture2D ((int)(100*scale.x), (int)(100*scale.y));
for (int y = 0; y < tex.height; y++) {
for(int x = 0; x < tex.width; x++){
if(y < 2 || x < 2 || y >= tex.height-2 || x >= tex.width-2){
tex.SetPixel(x, y, Color.white);
}else{
tex.SetPixel(x, y, Color.black);
}
}
}
print (tex.GetPixel (0, 0) + "," + tex.GetPixel(3, 3) + "," + tex.GetPixel(tex.width-1, tex.height-1));
Sprite spr = Sprite.Create(tex, new Rect(0.0f, 0.0f, tex.width, tex.height), new Vector2(0.5f, 0.5f));
rend.sprite = spr;
}`
規模變量是一個Vector2,我可以繪製精靈,因此不會伸展之前改變。 感謝您的幫助。我使用的是Unity 5,如果這與它有任何關係。
你爲scale.x和scale.y使用了什麼值? – Hristo
對於我正在使用12和2.它總是超過0,如果這就是你在 –