Объявление
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). Установите цвет вершины для шейдера. |
mat | Пользовательский Материал, который можно использовать для рисования текстуры. Если передается null, используется материал по умолчанию с Internal-GUITexture.shader. |
pass | Если -1 (по умолчанию), рисует все проходы в материале. В противном случае рисует только данный проход. |
Описание
Нарисуйте текстуру в экранных координатах.
Если вы хотите нарисовать текстуру внутри кода OnGUI, вы должны делать это только из событий EventType.Repaint. Вероятно, лучше использовать 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);
}
}
}