GUI.DrawTextureWithTexCoords
Declaration
public static void DrawTextureWithTexCoords(Rect position, Texture image, Rect texCoords);public static void DrawTextureWithTexCoords(Rect position, Texture image, Rect texCoords, bool alphaBlend);Параметры
| Параметр | Описание |
|---|---|
| должность | Прямоугольник на экране, чтобы нарисовать текстуру внутри. |
| изображение | Texture для отображения. |
| texCoords | Как масштабировать изображение, если его соотношение сторон не соответствует соотношению сторон, в котором оно будет нарисовано. |
| alphaBlend | Использовать ли альфа-слияние изображения на дисплее (по умолчанию). Если false, изображение рисуется на дисплее. |
Описание
Нарисовать текстуру внутри прямоугольника с заданными координатами текстуры.
Используйте эту функцию для обрезки или плитки изображения внутри заданного прямоугольника. Второй Rect texCoords описывает, как текстура регулируется, чтобы вписаться в положение Rect. Первый прямоугольник имеет свой размер в пикселях; второй прямоугольник дается в диапазоне от 0.0 до 1.0.
Дополнительные ресурсы: GUI.color, GUI.contentColor.
using UnityEngine;
// Use DrawTextureWithTexCoords() to draw a texture. The texture is draw on the window // inside a given pixel rectangle. The size of the drawn texture is based on the value // of hor. This ranges from 0.5 to 1.25 so the bottom left half of the texture to a // greater than normal value.
public class ExampleScript : MonoBehaviour { public Texture2D tex; private Rect rect; private float hor; private Rect hs; private Rect label;
void Start() { float center = Screen.width / 2.0f; rect = new Rect(center - 200, 200, 400, 250); hs = new Rect(center - 200, 125, 400, 30); label = new Rect(center - 20, 155, 50, 30); hor = 0.5f; }
void OnGUI() { hor = GUI.HorizontalSlider(hs, hor, 0.5f, 1.25f); GUI.Label(label, hor.ToString("F3")); GUI.DrawTextureWithTexCoords(rect, tex, new Rect(0.0f, 0.0f, hor, hor)); } }