unity-game-engine - Unity 从其子级获取根 Canvas 游戏对象

标签 unity-game-engine user-interface canvas

我想从 Canvas 的子/成员获取根 Canvas 中可用的数据。可以使用这个 https://docs.unity3d.com/ScriptReference/Canvas-rootCanvas.html 来做到这一点但如果 this.gameobject 则无法使用没有 Canvas 组件,添加 Canvas 组件是不可能的,并且从统一编辑器手动分配游戏对象也是不可能的,因为它关闭了自动化的大门。

所以我的问题是,如何在不使用 this.gameObject.GetComponent<Canvas>().rootcanvas 的情况下从其子级获取根 Canvas 游戏对象?我也尝试过collider.transform.root但如果根 Canvas 不在顶层,则会失败。

最佳答案

尝试GetComponentInParent<Canvas>().rootCanvas 。这假设您有一个有效的、可见的 UI 元素。您可以看到的任何 UI 元素都必须在其层次结构中具有较高的 Canvas,然后您可以获得该 Canvas 的 rootCanvas。

关于unity-game-engine - Unity 从其子级获取根 Canvas 游戏对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63481215/

相关文章:

javascript - Canvas 图像数据操作

javascript - Easeljs 捕捉到网格

javascript - Canvas drawImage,在 fiddle 中有效,但在 chrome 中无效

Android ProgressDialog 同时具有较长的 UI 任务

unity-game-engine - 如何在Unity中通过C#将按钮组件的转换选项设置为 "none"?

android - 如何使用 Android Studio 将第三方库添加到 unity android build

unity-game-engine - Unity 构建无法正确显示颜色

java - Unity JNI,C#中从Android Native获取ArrayList<Hashtable<String, String>>

Android ProgressDialog 显示但进度未更新

java - GUI不会刷新