下面是演示环节 本节我们开始《慕课英雄
2》网络版游戏战斗场景的制作 本节我们完成 GameScene
场景的初始化 讲解网络游戏开始的准备逻辑
在 Project 视图中 我们打开
Scenes 文件夹 双击 GameScene
游戏场景 该场景是游戏战斗场景
游戏开始后，客户端会加载 GameScene
场景 接下来，我们导入游戏战斗场景所需的资源包
[空白_录音]
我们提供的资源包名称为 Mooc Hero
2 -GamePlay.UnityPackage
导入完成后 我们在场景中创建一个空的游戏对象
把它重命名为 GameManager
我们首先为该空对象 添加
PhotonView 组件 接着，我们为它绑定
GameManager 脚本 GameManager
脚本用于管理游戏的状态 接下来，我们将 Prefabs
文件夹中的 GameCanvas 预制件 拖入 Hierarchy
层级视图 该预制件包含游戏战斗场景的 UI
其中 SightBead 表示屏幕中央的准星
HP 表示屏幕左下角的血条
TimeAndScorePanel 表示屏幕正上方
中间的时间和分数显示面板 ScorePanel
表示屏幕中央的玩家得分榜 在游戏进行过程中，玩家按住
Tab 键会显示该得分榜 ExitButton
表示屏幕右上角的退出房间按钮 点击该按钮，玩家就可以退出游戏房间，返回游戏大厅
下面我们设置 GameManager
组件的属性 [空白_录音]
[空白_录音]
[空白_录音] [空白_录音]
[空白_录音]
[空白_录音] [空白_录音]
[空白_录音]
[空白_录音] 设置完毕后，我们为
ExitButton 绑定 事件处理函数
我们将 ExitButton
的事件处理函数设置为 GameManager 类的 LeaveRoom 函数
[空白_录音] 下面，我们讲解
GameManager 脚本中与游戏开始准备逻辑相关的代码
[空白_录音] 玩家加载
GameScene 场景后，首先调用 Start 函数 在 Start
函数中，我们首先调用 RPC 方法 调用所有客户端的
ConfirmLoad 函数，告知所有玩家有一名玩家已经完成了游戏场景的加载
接着，我们初始化玩家的自定义属性 Score
初始化玩家队伍得分
与玩家得分榜的信息显示 最后，如果玩家是
MasterClient 也就是房主，我们使用
RPC 方法 调用所有玩家的 SetTime 函数 使用
PhotonNetwork.time 设置游戏开始倒计时
接下来是 Update
函数 Update
函数 计算倒计时的时间，并且更新倒计时的显示
接下来，根据当前游戏状态处理不同的逻辑 如果当前游戏状态是
PreStart MasterClient 会调用 CheckPlayerConnected
函数 检查游戏开始的条件是否满足 在 CheckPlayerConnected
函数中 MasterClient
首先检查游戏时间倒计时是否结束
或者是否所有的玩家都已经成功地加载了游戏场景
如果两个条件有一个满足 那么
MasterClient 会使用 RPC 方法 调用 StartGame
函数，设置游戏的倒计时时间 让所有的玩家进入 Playing
游戏状态 并且创建玩家控制的角色，开始游戏
最后，我们返回 Unity 编辑器 保存游戏场景
以上就是本节演示的全部内容