王者荣耀实时对战服务器Photon之PUN游戏场景构建
本节将介绍在Unity中构建玩家的游戏场景,根据玩家的人数来加载不同的场景,完善整个游戏demo的功能。主要是使用Unity编辑器完成场景的构建工作。
每个场景将专门针对特定数量的玩家,玩家数量越来越多,以适应所有玩家,并给他们足够的空间移动。
在本教程中,我们将根据玩家人数来实现逻辑,以加载正确的级别的场景,为此,将使用一个约定,达到对应级别将以以下格式命名:“X for X”,X将代表玩家人数。
First Room Creation
1.创建一个新场景,保存并将其命名为“Room for 1”。
2.创建一个立方体并将其命名为floor。
3.根据以下图片进行设置,设置其位置,旋转和缩放。
4.以下是所有四面墙的位置和比例,来构建的场景楼层GameObject
主要不要忘记进行保存该场景。
Game Manager Prefab
在所有情况下,UI会设置一个退出房间功能。 为此,我们需要一个UI按钮,但是我们还需要一个脚本来调用Photon让本地玩家离开房间,所以让我们开始创建一个Game Manager的预制,主要实现让当前的游戏玩家可以顺利的退出当前的房间。
1.创建一个新的c#脚本GameManager
2.在场景中创建一个空的GameObject,将其命名为Game Manager
3.将GameManager脚本放到GameObject Game Manager上
4.通过将游戏管理器从场景层次结构拖动到资产浏览器,将游戏管理器转换为预制,它将在层次结构中变为蓝色。
5.编辑GameManager脚本
6.替换为以下内容
using System;
using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;
namespace Com.MyCompany.MyGame
{
public class GameManager : MonoBehaviour {
#region Photon Messages
/// <summary>
/// Called when the local player left the room. We need to load the launcher scene.
/// </summary>
public void OnLeftRoom()
{
SceneManager.LoadScene(0);
}
#endregion
#region Public Methods
public void LeaveRoom()
{
PhotonNetwork.LeaveRoom();
}
#endregion
}
}
7.保存GameManager脚本.
我们创建了一个公共方法LeaveRoom()。 它的作用是确保让本地玩家离开Photon房间,我们把它放到抽象公共方法中。 我们可能希望在稍后阶段实现更多功能,例如保存数据,或确定用户将离开步骤等。
根据我们的游戏要求,如果我们不在一个房间,我们需要显示Launcher场景,所以我们要调用方法OnLeftRoom()Photon回调,并加载大厅场景Launcher,它在Build settings Scene的列表中被索引为0 ,我们将在本节的“构建设置场景列表”部分中进行设置。
为什么要预制一下呢? 因为我们的游戏需求同一个游戏的不同几个场景,所以我们需要重复的使用这个游戏管理器。 在Unity中,重复使用GameObjects的最佳方法是将它们变成Prefabs。
接下来,让我们创建一个UI Button,它将调用我们的GameManager LeaveRoom()方法。
Quit Room Button Prefab
在我们将有许多不同的场景需要这个功能的前提下,提前计划把Button改变成为预制,这样我们可以重用它。
1.确保你在场景room1中
2.使用Unity菜单“GameObject / UI / Panel”创建一个UI面板,将面板命名为Top Panel。
3.删除图像和画布渲染器组件。
4.设置UI Panel控件的锚点位置,这是为了后期UI自适应。
5.将RectTransform高度设置为50。
6.右键单击Panel GameObject顶部面板并添加一个UI / Button,将其命名为Leave按钮
7.选择按钮的文本改为离开离开游戏。
8.将OnClick按钮的事件连接到层次结构中的Game Manager实例以调用LeaveRoom()。
1.将“离开”按钮拖动到预制中,将其从场景层次结构拖动到资产浏览器,它将在层次结构中变为蓝色。
2.保存场景,并保存项目。
Other Rooms Creation
现在我们已经完成一个房间,让我们复制3次,并且进行重新命名,2房间,3房间,4房间
查找位置,旋转和比例的更改,以加快重复的过程。
Room for 2 2房间设置Floor scale:36,1,36
Room for 3 3房间设置Floor Scale: 50,1,50
Room for 4 4房间设置Floor Scale: 60,1,60
Build Settings Scenes List
在编辑和发布时,我们需要在构建设置中添加所有这些场景,以便Unity在构建应用程序时包括它们。
通过菜单“文件/构建设置”打开构建设置
拖放所有场景,启动场景必须保持第一,默认情况下Unity将加载并显示播放器该列表上的第一个场景
现在我们完成了基本场景设置,我们终于可以开始把所有场景都设计完成。 剩下的工作让我们在下一节中做。
不管你有关于Photon产品的问题或者是Photon价格问题或者Photon教程方面的问题或者其他问题都可以联系我们给我我们留言,我们真诚的为您服务。关注我们公众号PhotonServer获取等多新鲜资讯。