我有一个带有GUI纹理的面板是由代码创建的:
GUITexture background=gameObject.AddComponent<GUITexture>();
如何使这个GUITexture在画布内适合面板无论屏幕宽度或高度是什么,我都在尝试使用此代码,但它不起作用:
GUITexture background=gameObject.AddComponent<GUITexture>();
Image img = gameObject.GetComponent<Image>();
Vector3 posStart=Camera.Main.WorldtoScreenPoit(img.RectTransform.anchorMin.x,img.RectTransform.anchorMin.y,0);
Vector3 posEnd=Camera.Main.WorldtoScreenPoit(img.RectTransform.anchorMax.x,img.RectTransform.anchorMax.y,0);
int widthX = (int)(posEnd.x - posStart.x);
int widthY = (int)(posEnd.y - posStart.y);
GUITexture.PixelInset= new Rect(posStart.x,posStart.y,widthX,widthY);
如果由于我没有复制并通过代码而导致语法错误,我很抱歉
我正在使用的代码应该根据UI面板RectTransform
缩放gui图层,但这就是视图的样子
画布设置为适合屏幕分辨率(宽度和高度),但正如您所看到的,GUITexture不适合UI面板,我做错了什么
PS:GUITexture被用作WebcamTexture,为了多个设备之间的响应,我在面板上使用GUITexture,我正在使用飞机,但我不知道如何根据屏幕调整大小宽度和高度答案 0 :(得分:1)
您需要做的是基本上在代码中模拟当您通过按住ALT和SHIFT使对象居中时编辑器应用的参数。
这应该通过以下方式实现: