首页
传奇新服网 单职业传奇新服网 合击传奇新服网 传奇新服网1.85
当前位置 > 主页 > 传奇新服网 >

第19天在Unity中创建播放器健康系统和健康UI 1

在我们游戏的当前状态下,我们可以击败敌人,但我们永远不会失败。

今天在第19天,我们将开始研究解决此问题的代。

第一步是我们将为我们的玩家创建健康和健康栏,以便我们可以受到伤害并知道我们何时会失败。

没有任何延迟,让我们开始吧!

创建健康BarUI

创建健康系统时我们应该做的第一件事是为我们的健康创建UI。

就像任何UI元素一样,我们将使用Unity的UI系统来创建健康栏,特别是我们将使用Unity’ sSlider。

我们已经有一个名为HUD的现有UI画布,右键单击它并选择UI - > Sliderto创建了一个新的Slider。如果我们已经没有UI Canvas,Unity会自动为我们创建它。

我们将重新命名我们的Slider toHealth Bar。

如果我们在myScenetab中使用我们的层次结构进入2D模式,那么现在你将会有这样的事情。

我们需要对滑块进行一些调整,以使其看起来更漂亮。

首先,我们不需要滑块。 DeleteHandle滑块区。

接下来,在滑块(脚本)组件范围内的selectHealth Barand将theMax Valueto设为100.注意这里有一点问题?

我们的价值是0,但我们的酒吧仍在那里。此外,如果我们将我们的价值移至100,整个酒吧也不会被填补。

关于如何使滑块变空,我找到了一个很好的答案。

要进行我们想要的调整,我们必须:

SetWidthofFill为0转到“填充区域”并拖动条直到它适合背景。在我的例子中,我的结束值是波斯X:75,宽度:160,其余的是剩下的默认值。

这里’现在的样子:

但是现在我们还有另一个问题,如果我们将滑块的值设置为1,这里是我们得到的:

请注意我们的填充栏如何位于实际条形图的右侧。

不幸的是,似乎并没有解决问题的答案。这可能更像是一个Unity问题,而不是其他任何问题。

但是,这并不意味着我们只会放弃。

我们可以简单地修复它,就像你在Survival Shooter教程中从未注意到的那样:我们将扩展滑块的背景,以便条形图自然看起来像是正确的。

要做到这一点,我们去Backback然后改变左,上,右和下到-3

之后我们应该有这样的事情:

好多了,对吧?什么都不合适!

现在我们的健康栏看起来更好了,现在是时候把它移到左下角了。选择健康栏,转到theRect变换组件,单击方块,打开UI对齐,然后点击左侧单击底部左侧选项,单击左下角。

现在,一切都在左下角,看起来并不好看。让我们添加一些补充。

ClickHealth Barand setPox X to be15andPos Yto be10。

当你完成后,你的游戏现在应该是这样的(不要忘记将滑块值设置为100)!

创建我们的播放器健康系统创建播放器’ shealth

现在我们有了一个UI健康栏,现在是时候编写一些代来创建播放器的健康状176元素版传奇况了。

首先,单击ourPlayergame对象并创建一个名为PlayHealth的新脚本。此脚本将在玩家受到损害时控制玩家的健康状况,然后在我们的健康栏中显示这些更改。

这里’是什么ourPlayerHealthscript看起来像:

使用UnityEngine;使用UnityEngine.UI;公共类PlayerHealth:MonoBehaviour{public Slider HealthBar;公共浮动健康= 100;private float _currentHealth;void Start(){_currentHealth =健康;}public void TakeDamage(浮动伤害){_currentHealth  -  =伤害;HealthBar.value = _currentHealth;}} 

这里’我们的脚本如何运作:

我们创建了一个公共Slider,它将成为我们的健康棒。重要的是要注意我们需要importUIotherwise编译器会向我们抱怨我们的滑动项目。接下来,我们创建一个公共健康来代表我们的最大健康和_currentHealth来表示

我们的玩家有多少健康。在Start()中,我们将our_currentHealth实例化为我们的最大健康状况。最后,我们创建了publicTakeD

在我们游戏的当前状态下,我们可以击败敌人,但我们永远不会失败。

今天在第19天,我们将开始研究解决此问题的代。

第一步是我们将为我们的玩家创建健康和健康栏,以便我们可以受到伤害并知道我们何时会失败。

没有任何延迟,让我们开始吧!

创建健康BarUI

创建健康系统时我们应该做的第一件事是为我们的健康创建UI。

就像任何UI元素一样,我们将使用Unity的UI系统来创建健康栏,特别是我们将使用Unity’ sSlider。

我们已经有一个名为HUD的现有UI画布,右键单击它并选择UI - > Sliderto创建了一个新的Slider。如果我们已经没有UI Canvas,Unity会自动为我们创建它。

我们将重新命名我们的Slider toHealth Bar。

如果我们在myScenetab中使用我们的层次结构进入2D模式,那么现在你将会有这样的事情。

我们需要对滑块进行一些调整,以使其看起来更漂亮。

首先,我们不需要滑块。 DeleteHandle滑块区。

接下来,在滑块(脚本)组件范围内的selectHealth Barand将theMax Valueto设为100.注意这里有一点问题?

我们的价值是0,但我们的酒吧仍在那里。此外,如果我们将我们的价值移至100,整个酒吧也不会被填补。

关于如何使滑块变空,我找到了一个很好的答案。

要进行我们想要的调整,我们必须:

SetWidthofFill为0转到“填充区域”并拖动条直到它适合背景。在我的例子中100%传奇私服仿盛大版,我的结束值是波斯X:75,宽度:160,其余的是剩下的默认值。

这里’现在的样子:

但是现在我们还有另一个问题,如果我们将滑块的值设置为1,这里是我们得到的:

请注意我们的填充栏如何位于实际条形图的右侧。

不幸的是,似乎并没有解决问题的答案。这可能更像是一个Unity问题,而不是其他任何问题。

但是,这并不意味着我们只会放弃。

我们可以简单地修复它,就像你在Survival Shooter教程中从未注意到的那样:我们将扩展滑块的背景,以便条形图自然看起来像是正确的。

要做到这一点,我们去Backback然后改变左,上,右和下到-3

之后我们应该有这样的事情:

好多了,对吧?什么都不合适!

现在我们的健康栏看起来更好了,现在是时候把它移到左下角了。选择健康栏,转到theRect变换组件,单击方块,打开UI对齐,然后点击左侧单击底部左侧选项,单击左下角。

现在,一切都在左下角,看起来并不好看。让我们添加一些补充。

ClickHealth Barand setPox X to be15andPos Yto be10。

当你完成后,你的游戏现在应该是这样的(不要忘记将滑块值设置为100)!

创建我们的播放器健康系统创建播放器’ shealth

现在我们有了一个UI健康栏,现在是时候编写一些代来创建播放器的健康状况了。

首先,单击ourPlayergame对象并创建一个名为PlayHealth的新脚本。此脚本将在玩家受到损害时控制玩家的健康状况,然后在我们的健康栏中显示这些更改。

这里’是什么ourPlayerHealthscript看起来像:

使用UnityEngine;使用UnityEngine.UI;公共类PlayerHealth:MonoBehaviour{public Slider HealthBar;公共浮动健康= 100;private float _currentHealth;void Start(){_currentHealth =健康;}public void TakeDamage(浮动伤害){_currentHealth  -  =伤害;HealthBar.value = _currentHealth;}} 

这里’我们的脚本如何运作:

我们创建了一个公共Slider,它将成为我们的健康棒。重要的是要注意我们需要

importUIotherwise编译器会向我们抱怨我们的滑动项目。接下来,我们创建一个公共健康来代表我们的最大健康和_currentHealth来表示我们的玩家有多少健康。在Start()中,我们将our_currentHealth实例化为我们的最大健康状况。最后,我们创建了publicTakeD

上一篇:且防御“也要”比法師強

下一篇:BioShock电影失去了另一位导演


相关文章: