创建一个健康栏

我正在尝试创建一个有效的健康栏,我尝试过类似的方法

  1. 创建包含我创建的健康栏纹理的GUI.Box(),但这会使健康栏按比例resize: 扭曲的健康酒吧

  2. 使用Texture2D.Resize()方法在没有 GUI.Box()的情况下调整纹理本身的大小,但是当我使用Texture2D.Resize()方法时,我的纹理变为黑色 。 它看起来像这样:

黑健康吧

我的代码看起来像这样。 对其进行了编辑,以便删除不相关的部分以便于阅读。

码

当我resize时,为什么我的健康栏会变黑? 有什么办法可以防止这种情况发生吗? 先感谢您!

删除所有以GUI开头的API ….然后删除On GUI(){....}函数。

滑块:

转到GameObject-> UI-> Slider。

从滑块中删除处理滑动区域

然后从脚本控制健康栏:

首先,包括using UnityEngine.UI;

 public Slider healthBar; //Initialize health bar void Start() { healthBar.interactable = false; healthBar.minValue = 0; healthBar.maxValue = 100; healthBar.value = 100; } 

然后,您可以使用healthBar.value更改健康栏。

对于包图:

转到GameObject-UI-> Image 。 停止使用旧的GUI。

https://unity3d.com/learn/tutorials/topics/user-interface-ui