为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
潇潇雨雨 2022-08-20 16:11:12
我试图在我的游戏中的角色上方放置一个画布,以显示有关其动画/健康等的一些信息,以便对其进行调试。我通过代码完成所有这些工作。因此,我首先向角色添加一个游戏对象。然后,我将画布添加到此游戏对象。这工作正常。然后,我向此游戏对象添加一个“面板”,并将图像放入其中。我想使用此图像作为将显示的文本的背景。我似乎无法使面板的大小如此之大,以至于它完全适合Canvas游戏对象。文本也是如此。我在这里做错了什么?谢谢。private void pCreateCanvas() { GameObject nCanvasGO = new GameObject(“CanvasContainer”); nCanvasGO.transform.SetParent(_ThisCharacter.transform); //parent the gameobject to the character
查看完整描述

1 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

而不是

 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


查看完整回答
反对 回复 2022-08-20
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信