版本: Unity 6 (6000.0)
语言英语
  • C#

GUI.DrawTextureWithTexCoords

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们确实会阅读用户提供的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请 <a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static void DrawTextureWithTexCoords(Rect position, Texture image, Rect texCoords);

声明

public static void DrawTextureWithTexCoords(Rect position, Texture image, Rect texCoords, bool alphaBlend);

参数

position 在屏幕上绘制纹理的矩形区域。
image 纹理 用于显示。
texCoords 当纹理的纵横比不适合要绘制的区域的纵横比时,如何缩放纹理。
alphaBlend 是否将纹理与显示器进行 Alpha 混合(默认值)。如果为 false,则将纹理绘制在显示器上。

描述

使用给定的纹理坐标在矩形区域内绘制纹理。

使用此函数剪切或平铺给定矩形区域内的纹理。第二个 Rect texCoords 描述了纹理如何调整以适应位置 Rect。第一个矩形以像素大小给出;第二个矩形以 0.0 到 1.0 的范围给出。

其他资源: GUI.colorGUI.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)); } }