Version: 2021.1

Canvas

class in UnityEngine

/

继承自:Behaviour

切换到手册

描述

可用于屏幕渲染的元素。

画布上的元素在场景渲染之后渲染(从附加的摄像机或使用覆盖模式)。

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获取或设置要在创建 Canvas 网格时使用的附加着色器通道的遮罩。
cachedSortingLayerValue基于 SortingLayerID 缓存的计算值。
isRootCanvas这是根 Canvas 吗?
normalizedSortingGridSize画布将可渲染区域拆分成的标准化网格大小。
overridePixelPerfect允许嵌套画布重写从父画布继承的 pixelPerfect 设置。
overrideSorting覆盖画布的排序。
pixelPerfect强制画布中的元素按像素对齐。仅在 renderMode 为屏幕空间时适用。
pixelRect获取 Canvas 的渲染矩形。
planeDistance生成画布的位置到摄像机的距离。
referencePixelsPerUnit被视为默认值的 Pixels Per Unit 数量。
renderingDisplaySizeReturns the canvas display size based on the selected render mode and target display.
renderMode该 Canvas 处于世界模式还是覆盖模式?
renderOrder将画布发射到场景的渲染顺序。(只读)
rootCanvas通过检查每个父项并返回找到的最后一个画布来返回最接近根的 Canvas。如果未找到其他画布,则画布返回自身。
scaleFactor用于缩放整个画布,同时仍使其适合屏幕。仅在 renderMode 为屏幕空间时适用。
sortingLayerID画布排序图层的唯一 ID。
sortingLayerName画布排序图层的名称。
sortingOrder排序图层中的画布顺序。
targetDisplay用于覆盖模式,将显示 UI 画布的显示索引。
worldCamera在“Screen Space - Camera”中用于调整 Canvas 大小的 Camera。也在 World Space Canvas 中用作通过其发送事件的 Camera。

静态函数

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

Events

preWillRenderCanvases在即将开始 Canvas 渲染前调用的事件。
willRenderCanvases在即将开始 Canvas 渲染前调用的事件。

继承的成员

变量

enabled启用的 Behaviour 可更新,禁用的 Behaviour 不可更新。
isActiveAndEnabled是否已激活并启用 Behaviour?
gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。

公共函数

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag此游戏对象是否使用 tag 进行了标记?
GetComponentReturns the component of Type type if the GameObject has one attached, null if it doesn't. Will also return disabled components.
GetComponentInChildren使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。
GetComponentInParent返回 GameObject 或其任何父项中类型为 type 的组件。
GetComponents返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildrenReturns all components of Type type in the GameObject or any of its children. Works recursively.
GetComponentsInParent返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
TryGetComponent获取指定类型的组件(如果存在)。