上一小节
我们完成了开始界面的制作,本小节,我们将为玩家添加攻击脚本
并演示游戏进行时界面与结束界面的制作 首先双击打开
GamePlay 场景 接着我们在
Hierarchy 视图中展开 FPSPlayer 对象
在它的子孙对象中找到 GunBarrelEnd
然后 我们在 Project
视图中打开 Scripts 文件夹 将 PlayerAttack
脚本拖动到 GunBarrelEnd 对象上 然后在
Inspector 视图中设定它的 Shooting Audio
属性 这里我们选择 m4_shoot
试音片段 下面我们制作游戏运行时的 UI
首先我们在 Hierarchy 视图中 创建一个
UI Image 控件 我们选中 Unity
为我们自动创建的 Canvas 对象 将 Canvas 中的
UI Scale Mode 设置为 Scale With Screen Size
将 Reference Resolution 设置为 1280
X 720 将 Screen Match Mode 设置为 Match Width Or
Height 将 Match 设置为 0.5
[声音] 下面我们将 Canvas
中的 Image 重命名为 Sightbead [声音]
[声音] 选中
Sightbead 后,我们将它的 Source Image
选项 设置为 Sightbead 并将它的
Width 和 Height 分别设置为 50
和 50 接下来
我们设置它的 Pos X 和 Pos Y 属性
使它处于屏幕中央,这里,我们将 Pos X
和 Y 均设置为 0 接着,我们添加战斗时间与玩家分数信息的
提示,我们在 Canvas 对象下 创建一个
Text UI 对象 我们将它重命名为
Time Text 用于显示玩家的战斗时间
这里,我们将它的锚点设置为屏幕的右上角 Font Style
设置为 Bold Font Size 设置为
20 Color 设置为红色
Alignment 设置为垂直居中
水平方向上保持左对齐不变 我们将 Width
设置为 200 Position
属性中的 X 和 Y 分别设置为
-100 和 -15 接着我们在
Text 输入框中填入"战斗时间"四个字
[声音] 这样我们就可以在 Game
视图的右上角看到 我们的信息提示了
接着我们使用 Duplicate 方法复制一个 TimeText
将它重命名为 ScoreText 我们将
ScoreText 的Width 设置为
400 [声音]
将它的 Position 设置为 -200
-15 和 0
接着在 Text 输入框中填入"灭敌战绩"
四个字 这里将显示玩家的分数信息
下面我们添加血条对象 在
Canvas 下创建一个空的游戏对象 我们将它重命名为 Health
我们将它的锚点设置在左下角 将它的 Width 和 Height
属性均设置为 100 将它的 Pos X 和
Pos Y 均设置为 50 [声音]
接着我们在 Health 对象下创建一个 UI Text
控件 [声音] 我们首先将它重命名为
Health Label [声音]
我们将 Health Label 的 Width 和 Height
属性均设置为 50 锚点设置在左下角
接着我们将 Pos X 设置为
40 Pos Y 设置为 25 将
Text 内容设置为 HP,Font Size
设置为 30,Font Style 设置为
Bold Alignment 设置为垂直居中和水平居中
Color 设置为红色
这样我们就可以在 Game 视图左下角看到大写的
HP 字样 接着我们在 Health
对象下 创建一个 UI Slider
控件 我们将它重命名为 HealthSlider
我们将它的锚点设置在左下角 Pos X
和 Pos Y 分别设置为 150
25 接着我们展开
HealthSlider 对象 选中它的子对象
Fill Area 将其中的 Left 和
Right 设置为 5 我们展开
Fill Area
将其中的 Fields 对象的 Color
设置为红色 接着我们删除
Fill Area 之下的
Hander Slide Area
这样我们就完成了玩家血条对象的添加 下面
我们制作玩家受到攻击后屏幕泛出红光的效果 我们在
Canvas 下创建一个 UI Image 对象
我们将它重命名为 HurtImage
[声音] 接着我们在
HurtImage 的 Inspector 中 点开锚点设置,按住
Alt 键 选择 Stretch 拉伸 将
Image 扩展到整个屏幕
接着我们将它的 Color 设置为红色 Alpha
值设置为 0 表示透明。
注意,我们 这里要将 HurtImage
放置到 Canvas 所有子对象中的最后一个 这样可以保证
HurtImage 在渲染时 遮挡该 Canvas
中的其他控件 接下来我们在 Hierarchy
视图中创建一个空的游戏对象 我们将它重命名为
UI 我们 Reset 它的 Transform 组件
接着我们将之前 创建的
Canvas 拖动到 UI 下,使之成为 UI 的子对象 这里我们将
Canvas 对象重命名为 Playing Canvas
接着 我们双击打开 Project
视图中的 Prefabs 文件夹 将其中的 GameResultCanvas
预制件拖入到 UI 对象上,使之成为 UI
对象的子对象 该预制件用于在游戏结束后显示排行榜信息
由于该对象的创建方法与其他控件相似
这里不再赘述,直接提供给大家
以上就是本小节的全部内容