Graphics.DrawTexture
Declaration
public static void DrawTexture(Rect screenRect, Texture texture, Material mat = null, int pass = -1);public static void DrawTexture(Rect screenRect, Texture texture, int leftBorder, int rightBorder, int topBorder, int bottomBorder, Material mat = null, int pass = -1);public static void DrawTexture(Rect screenRect, Texture texture, Rect sourceRect, int leftBorder, int rightBorder, int topBorder, int bottomBorder, Material mat = null, int pass = -1);public static void DrawTexture(Rect screenRect, Texture texture, Rect sourceRect, int leftBorder, int rightBorder, int topBorder, int bottomBorder, Color color, Material mat = null, int pass = -1);Параметры
| Параметр | Описание |
|---|---|
| screenRect | Прямоугольник на экране, используемый для текстуры. В координатах пикселей с (0,0) в верхнем левом углу. |
| текстура | Texture для рисования. |
| sourceRect | Область текстуры для использования. В нормализованных координатах с (0,0) в нижнем левом углу. |
| leftBorder | Число пикселей слева, на которые не влияет масштабирование. |
| rightBorder | Число пикселей справа, на которые не влияет масштабирование. |
| topBorder | Число пикселей с верхней части, на которые не влияет масштабирование. |
| bottomBorder | Число пикселей от нижнего края, на которые не влияет масштабирование. |
| цвет | Color, который модулирует выход. Нейтральным значением является (0.5, 0.5, 0.5, 0.5). Установить как цвет вершины для шейдера. |
| мат | Пользовательские Material, которые могут быть использованы для рисования текстуры. Unity передает текстуру в шейдер как _MainTex. Если передано null, используется материал по умолчанию с Internal-GUITexture.shader. |
| пропуск | Если -1 (по умолчанию), рисует все проходы в материале. В противном случае рисует только данный проход. |
Описание
Нарисовать текстуру в координатах экрана.
Если вы хотите нарисовать текстуру изнутри кода OnGUI, вы должны делать это только из событий EventType.Repaint. Возможно, лучше использовать GUI.DrawTexture для кода GUI.
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); } } }