Unity 中的 HUD 用于 Shift 键推力
这里的练习演示了在 UI 画布中创建 HUD 元素并通过代码控制行为。
在画布中创建一个图像元素(将其命名为“Frame”)并将框架的精灵附加到其上。
创建一个空对象(将其命名为“ThrustBar”)并将图像元素拖动到其上方,使其成为该对象的子对象。
创建另一个图像元素(将其命名为“Fill)并使用 alt + 拉伸选项将其放置在框架内。
Unity
如果感兴趣,可以引入一个图像形式的视觉元素,该元素可以描绘推进器,并使其成为上面空对象的子对象,并根据需要进行对齐。
Unity
将滑块组件添加到 ThrustBar,该组件将允许缩放填充元素。
将填充元素拖至滑块组件的“rect”矩形选项。
对于比例值,请根据偏好选择一个数字。 (如果需要以整数方式而不是实数进行更改,则应单击整数复选框。)
Unity
将脚本组件添加到 ThrustBar,该组件可以包含更改比例值的方法。
HUD 现在状态良好。下一个要求是使用代码更改它。
推进器脚本应该有一个方法来更改此滑块刻度的值。
C#
将滑块组件拖到该脚本的“Slider”类型的公共变量中。
Unity
现在,必须从处理左 Shift 键按下机制的位置调用此方法。
在处理它的脚本中,声明一个“ThrustBar”类型的变量以获取引用。
public ThrustSlider _healthBar;
使用上面创建的句柄在同一脚本中创建一个方法来减少滑块slider值。 (不要忘记放置一个空验证器。)
C#
创建一个协程(coroutine)以在释放 Shift 键时增加滑块值。 (方法在这里不起作用,因为这必须并行发生。)
这里的协程(coroutine)应该检查滑块的值是否小于 1,以稍微降低增量速度,直到超过 1,然后换档。 (这将阻止玩家不断地推进。)
C#
最后,在左移键方法中使用这两个方法。另外,获取滑块当前值的句柄以进行相应的比较和更改。
C#