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

Canvas

UnityEngine 中的类

/

继承自: Behaviour

/

在以下位置实现: UnityEngine.UIModule

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

描述

可用于屏幕渲染的元素。

画布上的元素在场景渲染之后渲染,无论是通过附加的相机还是使用叠加模式。

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;

// Create a Canvas that holds a Text GameObject.

public class ExampleClass : MonoBehaviour { void Start() { GameObject myGO; GameObject myText; Canvas myCanvas; Text text; RectTransform rectTransform;

// Canvas myGO = new GameObject(); myGO.name = "TestCanvas"; myGO.AddComponent<Canvas>();

myCanvas = myGO.GetComponent<Canvas>(); myCanvas.renderMode = RenderMode.ScreenSpaceOverlay; myGO.AddComponent<CanvasScaler>(); myGO.AddComponent<GraphicRaycaster>();

// Text myText = new GameObject(); myText.transform.parent = myGO.transform; myText.name = "wibble";

text = myText.AddComponent<Text>(); text.font = (Font)Resources.Load("MyFont"); text.text = "wobble"; text.fontSize = 100;

// Text position rectTransform = text.GetComponent<RectTransform>(); rectTransform.localPosition = new Vector3(0, 0, 0); rectTransform.sizeDelta = new Vector2(400, 200); } }

属性

additionalShaderChannels获取或设置创建画布网格时要使用的额外着色器通道的掩码。
cachedSortingLayerValue基于 SortingLayerID 的缓存计算值。
isRootCanvas这是根画布吗?
normalizedSortingGridSize画布将渲染区域分成的小网格的归一化大小。
overridePixelPerfect允许嵌套画布覆盖从父画布继承的 pixelPerfect 设置。
overrideSorting允许嵌套画布覆盖父画布的 Canvas.sortingOrder。
pixelPerfect强制画布中元素的像素对齐。它仅在 Canvas.renderMode 设置为 Screen Space 时适用。
pixelRect获取画布的渲染矩形。
planeDistance画布距离相机多远?它仅在 Canvas.renderMode 设置为 RenderMode.ScreenSpaceCamera 时适用。
referencePixelsPerUnit被认为是默认值的每个单位的像素数。
renderingDisplaySize根据选定的渲染模式和目标显示返回画布显示大小。
renderMode画布是处于世界模式还是叠加模式?
renderOrder画布被发射到场景中的渲染顺序。(只读)
rootCanvas通过检查每个父项并返回找到的最后一个画布,返回最靠近根的画布。如果没有找到其他画布,则画布将返回自身。
scaleFactor缩放整个画布,确保它适合屏幕。它仅在 Canvas.renderMode 设置为 Screen Space 时适用。
sortingLayerID画布排序层的唯一 ID。
sortingLayerName画布排序层的名称。
sortingOrder画布在排序层中的顺序。
targetDisplay对于叠加模式,UI 画布将显示在哪个显示索引上。
updateRectTransformForStandalone当执行手动 Camera.Render 调用时,画布大小是否应该根据渲染目标进行更新。
vertexColorAlwaysGammaSpace在传递到线性颜色空间工作流程中的 UI 着色器之前,画布顶点颜色是否始终处于伽马空间。
worldCamera在 Screen Space - Camera 中用于调整画布大小的相机。还用作世界空间画布将发送事件的相机。

静态方法

ForceUpdateCanvases强制所有画布更新其内容。
GetDefaultCanvasMaterial返回可用于在画布上渲染普通元素的默认材质。
GetETC1SupportedCanvasMaterial获取或生成 ETC1 材质。

事件

preWillRenderCanvases在画布渲染发生之前调用的事件。
willRenderCanvases在画布渲染发生之前调用的事件。

继承的成员

属性

enabled启用的行为将被更新,禁用的行为将不被更新。
isActiveAndEnabled报告游戏对象及其关联的行为是否处于活动状态并已启用。
gameObject此组件附加到的游戏对象。组件始终附加到游戏对象。
tag此游戏对象的标签。
transform附加到此游戏对象的 Transform。
hideFlags对象是否应隐藏,与场景一起保存或可由用户修改?
name对象的名称。

公共方法

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag将游戏对象的标签与定义的标签进行比较。
GetComponent获取与指定组件位于同一个游戏对象上的类型为 T 的组件的引用。
GetComponentInChildren获取与指定组件位于同一个游戏对象上的类型为 T 的组件的引用,或获取该游戏对象的任何子项。
GetComponentIndex获取组件在其父游戏对象上的索引。
GetComponentInParent获取与指定组件位于同一个游戏对象上的类型为 T 的组件的引用,或获取该游戏对象的任何父项。
GetComponents获取与指定组件位于同一个游戏对象上的所有类型为 T 的组件的引用。
GetComponentsInChildren获取与指定组件位于同一个游戏对象上的所有类型为 T 的组件的引用,以及该游戏对象的任何子项。
GetComponentsInParent获取与指定组件位于同一个游戏对象上的所有类型为 T 的组件的引用,以及该游戏对象的任何父项。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法,以及行为的每个祖先。
TryGetComponent获取指定类型的组件(如果存在)。
GetInstanceID获取对象的实例 ID。
ToString返回对象的名称。

静态方法

Destroy删除游戏对象、组件或资产。
DestroyImmediate立即销毁对象 obj。强烈建议使用 Destroy 代替。
DontDestroyOnLoad加载新场景时不要销毁目标对象。
FindAnyObjectByType检索类型为 type 的任何活动加载对象。
FindFirstObjectByType检索类型为 type 的第一个活动加载对象。
FindObjectsByType检索所有加载的类型为 type 的对象的列表。
Instantiate克隆对象 original 并返回克隆。
InstantiateAsync捕获原始对象(必须与某个游戏对象相关)的快照,并返回 AsyncInstantiateOperation。

运算符

bool对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用以查看它们是否引用同一个对象。