screenRect | 用于贴图的屏幕上的矩形。以像素坐标为单位,左上角为 (0,0)。 |
texture | 要绘制的贴图。 |
sourceRect | 要使用的贴图区域。以归一化坐标为单位,左下角为 (0,0)。 |
leftBorder | 不受缩放影响的左侧像素数。 |
rightBorder | 不受缩放影响的右侧像素数。 |
topBorder | 不受缩放影响的顶部像素数。 |
bottomBorder | 不受比例缩放影响的像素数量。 |
color | 调节输出的颜色。中性值为 (0.5, 0.5, 0.5, 0.5)。设置为顶点着色器的颜色。 |
mat | 用于绘制纹理的自定义材质。Unity 将纹理作为 _MainTex 传递到着色器中。如果传递 null,将使用带有 Internal-GUITexture.shader 的默认材质。 |
pass | 如果为 -1(默认值),将绘制材質中的所有通道。否则,仅绘制给定通道。 |
在画面坐标中绘制纹理。
如果您想从 OnGUI 代码内部绘制纹理,则应该只在EventType.Repaint事件中执行该操作。为 GUI 代码使用GUI.DrawTexture可能效果更好。
using UnityEngine;
public class Example : MonoBehaviour { // Draws a texture on the screen at 10, 10 with 100 width, 100 height.
Texture aTexture;
void OnGUI() { if (Event.current.type.Equals(EventType.Repaint)) { Graphics.DrawTexture(new Rect(10, 10, 100, 100), aTexture); } } }