Canvas Scaler 组件用于控制画布中 UI 元素的整体缩放和像素密度。此缩放会影响画布下的所有内容,包括字体大小和图像边框。
对于设置为“Screen Space - Overlay”或“Screen Space - Camera”的画布,画布缩放器“UI Scale Mode”可以设置为“Constant Pixel Size”、“Scale With Screen Size”或“Constant Physical Size”。
使用“Constant Pixel Size”模式时,可在屏幕上按像素指定 UI 元素的位置和大小。这也是画布在未附加任何画布缩放器时的默认功能。但是,借助画布缩放器中的“Scale Factor”设置,可以向画布中的所有 UI 元素应用常量缩放。
使用“Scale With Screen Size”模式时,可以根据指定参考分辨率的像素来指定位置和大小。如果当前屏幕分辨率大于参考分辨率,则画布会保持只具有参考分辨率的分辨率,但是会放大以便适应屏幕。如果当前屏幕分辨率小于参考分辨率,则画布会相应缩小以适应屏幕。如果当前屏幕分辨率的宽高比与参考分辨率不同,则单独缩放每个轴以适应屏幕会形成非一致缩放,通常不希望发生这种情况。相反,ReferenceResolution 组件会使画布分辨率偏离参考分辨率,以便遵循屏幕的宽高比。可以使用 screenMatchMode 设置控制此偏离的行为方式。
使用“Constant Physical Size”模式时,可按物理单位(如毫米、点或派卡)指定 UI 元素的位置和大小。此模式依赖于正确报告其屏幕 DPI 的设备。对于不报告 DPI 的设备,可以指定回退 DPI。
对于设置为“World Space”的画布,画布缩放器组件可以用于控制画布中 UI 元素的像素密度。
另请参阅:Canvas。
defaultSpriteDPI | 用于 Sprite 的每英寸像素,使其“Pixels Per Unit”设置与“Reference Pixels Per Unit”设置匹配。 |
dynamicPixelsPerUnit | 用于 UI 中动态创建的位图(如文本)的每单位像素量。 |
fallbackScreenDPI | 在屏幕 DPI 未知时采用的 DPI。 |
matchWidthOrHeight | 用于缩放画布以匹配参考分辨率的宽度或高度(或两者组合)的设置。 |
physicalUnit | 用于指定位置和大小的物理单位。 |
referencePixelsPerUnit | 如果 Sprite 具有此“Pixels Per Unit”设置,则 Sprite 中的每个像素覆盖 UI 中的一个单位。 |
referenceResolution | UI 布局设计为使用的分辨率。 |
scaleFactor | 按此系数缩放画布中的所有 UI 元素。 |
screenMatchMode | 在当前分辨率的宽高比不适应参考分辨率时,用于缩放画布区域的模式。 |
uiScaleMode | 确定画布中的 UI 元素的缩放方式。 |
Handle | 处理画布缩放计算的方法。 |
HandleConstantPhysicalSize | 为“Constant Physical Size”处理画布缩放。 |
HandleConstantPixelSize | 为“Constant Pixel Size”处理画布缩放。 |
HandleScaleWithScreenSize | 处理随屏幕大小缩放的画布缩放。 |
HandleWorldCanvas | 为世界画布处理画布缩放。 |
OnDisable | 请参阅 MonoBehaviour.OnDisable。 |
SetReferencePixelsPerUnit | 对画布设置 referencePixelsPerUnit。 |
SetScaleFactor | 对画布设置缩放因子。 |
Update | 如果画布缩放需要更新,则处理每帧检查。 |
enabled | 启用的 Behaviour 可更新,禁用的 Behaviour 不可更新。 |
isActiveAndEnabled | Has the Behaviour had active and enabled called? |
gameObject | 此组件附加到的游戏对象。始终将组件附加到游戏对象。 |
tag | 此游戏对象的标签。 |
transform | 附加到此 GameObject 的 Transform。 |
runInEditMode | 允许 MonoBehaviour 的特定实例在编辑模式下运行(仅可在 Editor 中使用)。 |
useGUILayout | 禁用该属性可跳过 GUI 布局阶段。 |
hideFlags | Should the object be hidden, saved with the Scene or modifiable by the user? |
name | 对象的名称。 |
BroadcastMessage | 调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。 |
CompareTag | 此游戏对象是否使用 tag 进行了标记? |
GetComponent | 如果游戏对象附加了类型为 type 的组件,则将其返回,否则返回 null。 |
GetComponentInChildren | 使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。 |
GetComponentInParent | 返回 GameObject 或其任何父项中类型为 type 的组件。 |
GetComponents | 返回 GameObject 中类型为 type 的所有组件。 |
GetComponentsInChildren | 返回 GameObject 或其任何子项中类型为 type 的所有组件。 |
GetComponentsInParent | 返回 GameObject 或其任何父项中类型为 type 的所有组件。 |
SendMessage | 调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。 |
SendMessageUpwards | 调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。 |
CancelInvoke | 取消该 MonoBehaviour 上的所有 Invoke 调用。 |
Invoke | 在 time 秒后调用 methodName 方法。 |
InvokeRepeating | 在 time 秒后调用 methodName 方法,然后每 repeatRate 秒调用一次。 |
IsInvoking | 是否有任何待处理的 methodName 调用? |
StartCoroutine | 启动一个协同程序。 |
StopAllCoroutines | 停止在该行为上运行的所有协同程序。 |
StopCoroutine | 停止在该行为上运行的第一个名为 methodName 的协同程序或存储在 routine 中的协同程序。 |
GetInstanceID | 返回对象的实例 ID。 |
ToString | 返回 GameObject 的名称。 |
IsActive | 如果 GameObject 和 Component 处于激活状态,则返回 true。 |
IsDestroyed | 如果行为的原生表示已被销毁,则返回 true。 |
Awake | 请参阅 MonoBehaviour.Awake。 |
OnBeforeTransformParentChanged | 请参阅 MonoBehaviour.OnBeforeTransformParentChanged。 |
OnCanvasGroupChanged | 请参阅 MonoBehaviour.OnCanvasGroupChanged。 |
OnCanvasHierarchyChanged | 在父画布的状态发生更改时调用。 |
OnDestroy | 请参阅 MonoBehaviour.OnDestroy。 |
OnDidApplyAnimationProperties | 请参阅 LayoutGroup.OnDidApplyAnimationProperties。 |
OnEnable | 请参阅 MonoBehaviour.OnEnable。 |
OnRectTransformDimensionsChange | 如果关联的 RectTransform 的尺寸发生更改,则系统会调用此回调。 |
OnTransformParentChanged | 请参阅 MonoBehaviour.OnRectTransformParentChanged。 |
OnValidate | 请参阅 MonoBehaviour.OnValidate。 |
Reset | 请参阅 MonoBehaviour.Reset。 |
Start | 请参阅 MonoBehaviour.Start。 |
将消息记录到 Unity 控制台(与 Debug.Log 相同)。 | |
Destroy | 删除 GameObject、组件或资源。 |
DestroyImmediate | 立即销毁对象 /obj/。强烈建议您改用 Destroy。 |
DontDestroyOnLoad | Do not destroy the target Object when loading a new Scene. |
FindObjectOfType | 返回第一个类型为 type 的已加载的激活对象。 |
FindObjectsOfType | 返回所有类型为 type 的已加载的激活对象的列表。 |
Instantiate | 克隆 original 对象并返回克隆对象。 |
bool | 该对象是否存在? |
operator != | 比较两个对象是否引用不同的对象。 |
operator == | 比较两个对象引用,判断它们是否引用同一个对象。 |
Awake | Awake 在加载脚本实例时调用。 |
FixedUpdate | Frame-rate independent MonoBehaviour.FixedUpdate message for physics calculations. |
LateUpdate | 如果启用了 Behaviour,则每帧调用 LateUpdate。 |
OnAnimatorIK | 用于设置动画 IK(反向运动学)的回调。 |
OnAnimatorMove | 用于处理动画移动以修改根运动的回调。 |
OnApplicationFocus | 当玩家获得或失去焦点时,发送给所有 GameObject。 |
OnApplicationPause | 当应用程序暂停时,发送给所有 GameObject。 |
OnApplicationQuit | 在应用程序退出前,发送给所有游戏对象。 |
OnAudioFilterRead | 如果实现了 OnAudioFilterRead,Unity 将在音频 DSP 链中插入一个自定义滤波器。 |
OnBecameInvisible | OnBecameInvisible 在渲染器对任何摄像机都不可见时调用。 |
OnBecameVisible | OnBecameVisible 在渲染器变为对任意摄像机可见时调用。 |
OnCollisionEnter | 当该碰撞体/刚体已开始接触另一个刚体/碰撞体时,调用 OnCollisionEnter。 |
OnCollisionEnter2D | 当传入碰撞体与该对象的碰撞体接触时发送(仅限 2D 物理)。 |
OnCollisionExit | 当该碰撞体/刚体已停止接触另一个刚体/碰撞体时,调用 OnCollisionExit。 |
OnCollisionExit2D | 当另一个对象上的碰撞体停止接触该对象的碰撞体时发送(仅限 2D 物理)。 |
OnCollisionStay | 对应正在接触刚体/碰撞体的每一个碰撞体/刚体,每帧调用一次 :ref::OnCollisionStay。 |
OnCollisionStay2D | 在另一个对象上的碰撞体正在接触该对象的碰撞体时发送每个帧(仅限 2D 物理)。 |
OnConnectedToServer | 成功连接到服务器后在客户端上调用。 |
OnControllerColliderHit | 当该控制器在执行 Move 时撞到碰撞体时调用 OnControllerColliderHit。 |
OnDestroy | Destroying the attached Behaviour will result in the game or Scene receiving OnDestroy. |
OnDisconnectedFromServer | 当连接丢失或与服务器断开连接时,在客户端上调用。 |
OnDrawGizmos | 如果您想绘制能够选择并且始终绘制的辅助图标,则可以实现 OnDrawGizmos。 |
OnDrawGizmosSelected | 如果选择了对象,则实现 OnDrawGizmosSelected 来绘制辅助图标。 |
OnEnable | 该函数在对象变为启用和激活状态时调用。 |
OnFailedToConnect | 出于某种原因连接尝试失败时,在客户端上调用。 |
OnFailedToConnectToMasterServer | 在连接到 MasterServer 时发生问题的情况下,在客户端或服务器上调用。 |
OnGUI | 系统调用 OnGUI 来渲染和处理 GUI 事件。 |
OnJointBreak | 在附加到相同游戏对象的关节断开时调用。 |
OnJointBreak2D | 在附加到相同游戏对象的 Joint2D 断开时调用。 |
OnMasterServerEvent | 在从 MasterServer 报告事件时,在客户端或服务器上调用。 |
OnMouseDown | 当用户在 GUIElement 或 Collider 上按下鼠标按钮时,将调用 OnMouseDown。 |
OnMouseDrag | 当用户单击 GUIElement 或 Collider 并仍然按住鼠标时,将调用 OnMouseDrag。 |
OnMouseEnter | 当鼠标进入 GUIElement 或 Collider 时调用。 |
OnMouseExit | 当鼠标不再处于 GUIElement 或 Collider 上方时调用。 |
OnMouseOver | 当鼠标悬停在 GUIElement 或 Collider 上时,每帧调用一次。 |
OnMouseUp | 当用户松开鼠标按钮时,将调用 OnMouseUp。 |
OnMouseUpAsButton | 松开鼠标时,仅当鼠标在按下时所在的 GUIElement 或 Collider 上时,才调用 OnMouseUpAsButton。 |
OnNetworkInstantiate | 在已通过 Network.Instantiate 进行网络实例化的对象上调用。 |
OnParticleCollision | 当粒子击中碰撞体时,将调用 OnParticleCollision。 |
OnParticleSystemStopped | OnParticleSystemStopped is called when all particles in the system have died, and no new particles will be born. New particles cease to be created either after Stop is called, or when the duration property of a non-looping system has been exceeded. |
OnParticleTrigger | 当粒子系统中的任何粒子满足触发模块中的条件时,将调用 OnParticleTrigger。 |
OnPlayerConnected | 每当有新玩家成功连接,就在服务器上调用。 |
OnPlayerDisconnected | 每当有玩家与服务器断开连接,就在服务器上调用。 |
OnPostRender | OnPostRender is called after a camera finished rendering the Scene. |
OnPreCull | OnPreCull is called before a camera culls the Scene. |
OnPreRender | OnPreRender is called before a camera starts rendering the Scene. |
OnRenderImage | OnRenderImage 在图像的所有渲染操作全部完成后调用。 |
OnRenderObject | OnRenderObject is called after camera has rendered the Scene. |
OnSerializeNetworkView | 用于在网络视图监视的脚本中自定义变量同步。 |
OnServerInitialized | 每当调用 Network.InitializeServer 并且完成时,对该服务器调用该函数。 |
OnTransformChildrenChanged | 当 GameObject 的变换的子项列表发生更改时,将调用该函数。 |
OnTransformParentChanged | 当 GameObject 的变换的父属性发生更改时,将调用该函数。 |
OnTriggerEnter | OnTriggerEnter is called when the GameObject collides with another GameObject. |
OnTriggerEnter2D | 当另一个对象进入附加到该对象的触发碰撞体时发送(仅限 2D 物理)。 |
OnTriggerExit | 当 Collider other 已停止接触该触发器时调用 OnTriggerExit。 |
OnTriggerExit2D | 当另一个对象离开附加到该对象的触发碰撞体时发送(仅限 2D 物理)。 |
OnTriggerStay | 对于接触触发器的每一个 Collider /other/,每次物理更新调用一次 OnTriggerStay。 |
OnTriggerStay2D | 在另一个对象位于附加到该对象的触发碰撞体之内时发送每个帧(仅限 2D 物理)。 |
OnValidate | This function is called when the script is loaded or a value is changed in the Inspector (Called in the editor only). |
OnWillRenderObject | 如果对象可见并且不是 UI 元素,则为每个摄像机调用 OnWillRenderObject。 |
Reset | 重置为默认值。 |
Start | 在首次调用任何 Update 方法之前启用脚本时,在帧上调用 Start。 |