将图像附加到画布,并以与画布相同的大小渲染

我试图在我的游戏中的角色上方放置一个画布,以显示有关其动画/健康等的一些信息,以便对其进行调试。我通过代码完成所有这些工作。

因此,我首先向角色添加一个游戏对象。然后,我将画布添加到此游戏对象。这工作正常。

然后,我向此游戏对象添加一个“面板”,并将图像放入其中。我想使用此图像作为将显示的文本的背景。

我似乎无法使面板的大小如此之大,以至于它完全适合Canvas游戏对象。

文本也是如此。

我在这里做错了什么?

谢谢。

private void pCreateCanvas() { GameObject nCanvasGO = new GameObject(“CanvasContainer”); nCanvasGO.transform.SetParent(_ThisCharacter.transform); //parent the gameobject to the character


潇潇雨雨
浏览 95回答 1
1回答

缥缈止盈

而不是 rtPanelGO.anchorMin = new Vector2(0, 0);  rtPanelGO.anchorMax = new Vector2(1, 1);尝试 rtPanelGO.offsetMin= new Vector2(0, 0);  rtPanelGO.offsetMax = new Vector2(0, 0);更新:关键是要使用ctrttransform,当然,请记住,您对它所做的某些更改不会对您创建的框架产生任何影响。您可以尝试等待 1 帧,然后在画布和所有游戏对象有效地添加到场景中时,将所有更改应用到面板。例如,使用协程。请参阅 unity 论坛上的 https://forum.unity.com/threads/setting-top-and-bottom-on-a-recttransform.265415,了解有关设置顶部和底部偏移的更多信息。UPDATE2:Talke也看看这种方法:https://docs.unity3d.com/ScriptReference/RectTransform.SetInsetAndSizeFromParentEdge.html
打开App,查看更多内容
随时随地看视频慕课网APP