PUN 2 菜鸟养成记 3进入游戏
紧接上篇 菜鸟养成记 2主服务 https://blog.csdn.net/u010294054/article/details/88077896
让我们赶快进入游戏的海洋吧
第一步 主机调用加载游戏场景 嗯? 为啥只有主机调用加载场景
PhotonNetwork.LoadLevel("DemoAsteroids-GameScene");
因为我们在一开始就设置了自动同步场景
PhotonNetwork.AutomaticallySyncScene = true;
主机调用PhotonNetwork.LoadLevel() 后,其他客户端都会收到切换场景的消息并在这里处理
public static partial class PhotonNetwork
{public static void LoadLevel(int levelNumber){if (PhotonNetwork.AutomaticallySyncScene){SetLevelInPropsIfSynced(levelNumber);}PhotonNetwork.IsMessageQueueRunning = false;loadingLevelAndPausedNetwork = true;_AsyncLevelLoadingOperation = SceneManager.LoadSceneAsync(levelNumber,LoadSceneMode.Single);}
}
爱找茬的小伙伴这时候就会发现问题了:
这个切换场景的方法和主机通知其他客户端切换场景的方法是一个方法
而且PhotonNetwork.AutomaticallySyncScene 也是 == true
这里会不会出现互相通知加载场景的死循环呢?
吭吭 这位小伙伴 大可放心 ,别人不会这么蠢的, SetLevelInPropsIfSynced 方法的第一行就判断了 非主机就直接return
internal static void SetLevelInPropsIfSynced(object levelId)
{if (!PhotonNetwork.AutomaticallySyncScene || !PhotonNetwork.IsMasterClient || PhotonNetwork.CurrentRoom == null){return;}
}
主机已经切换好了场景了 现在要等待其他客户端进入游戏
private bool CheckAllPlayerLoadedLevel()
{foreach (Player p in PhotonNetwork.PlayerList){object playerLoadedLevel;if (p.CustomProperties.TryGetValue(AsteroidsGame.PLAYER_LOADED_LEVEL, out playerLoadedLevel)){if ((bool) playerLoadedLevel){continue;}}return false;}return true;
}
其他客户端都进入场景之后通知 开始 进入游戏倒计时
Hashtable props = new Hashtable
{{CountdownTimer.CountdownStartTime, (float) PhotonNetwork.Time}
};
PhotonNetwork.CurrentRoom.SetCustomProperties(props);
不墨迹了,我们快开始游戏吧!
开始游戏的第一件事 就是加载我们的雷霆战机
ennnn...不要太在意这个模型 我们来看一下如何同步加载物体
PhotonNetwork.Instantiate("Spaceship", Vector3.zero ,Quaternion.Euler(Vector3.zero), 0);
我们来模仿一下 试试加载一个自己创建的球体
在Resources文件夹下面创建一个名字为Sphere的预制体
我们来试试看
PhotonNetwork.Instantiate("Sphere", Vector3.zero ,Quaternion.Euler(Vector3.zero), 0);
报错了...
PhotonNetwork.Instantiate() can only instantiate objects with a PhotonView component. This prefab does not have one: Sphere
PUN同步加载的物体不能缺少这个组件,我们需要添加 PhotonView到这个预制体上
再运行一遍 ,恭喜你 现在能成功同步加载物体了!
PUN 2 菜鸟养成记 3进入游戏相关推荐
- 【RPG Maker MV】RPG游戏《机器人养成记》制作笔记 - RPG Maker MV 界面介绍
上一节,我们已经完成了软件的安装和项目的创建,并成功的运行了游戏. 这一节我们将介绍RGP Maker MV的界面元素和基本的使用方法,让大家对软件有个基本的了解. 我们先回到软件的主界面,界面分成工 ...
- VS2017学习C++基础十一(项目实战:小公主养成记)
// chapter11a01.cpp : //项目实战:小公主养成记#include <iostream> #include <string> #include <ve ...
- “牌面”养成记4:阅读顺序,工具,以及小成果
在「"牌面"养成记2:阅读学习计划」中提到过阅读会辅助以私家书藏APP,目前已经都收录完毕. 从目前统计来看,132本书籍中,还是偏爱「中信出版社」(可能是受罗辑思维影响的偏好性) ...
- “牌面”养成记10:打好牌,从做好这60件事开始[下]
[所谓"牌面",其实就是Product Manager的简称+谐音.也取胡"牌面"的寓意] <产品心经:产品经理应该知道的60件事(第2版)_闫荣> ...
- “牌面”养成记8:打好牌,从做好这60件事开始[上]
<产品心经:产品经理应该知道的60件事(第2版)_闫荣>[微信阅读]转化笔记 这是一本通过看目录就会有很多想法的书,原书18万字,改版后在原来的50件事基础上又添加了10条性的想法.这本书 ...
- UI设计师养成记-陈松鑫-专题视频课程
UI设计师养成记-58913人已学习 课程介绍 UI设计师是指从事对软件的人机交互.操作逻辑.界面美观的整体设计工作人员.1)本套课程为溪聚网络联合Adobe创意大学官方独家课程,第一 ...
- java梦幻机甲_西游梦幻记机甲战斗游戏下载-西游梦幻记测试服下载v1.0.4-乐游网安卓下载...
<西游梦幻记测试服>是一款玩法轻松且设定独特的卡牌策略战斗游戏,收集更多全新的西游人物加上独特的机甲战斗的震撼感,让游戏变得更加的刺激而且具有新意,感兴趣的亲们赶紧下载吧. 游戏介绍 &l ...
- C++第一阶段项目《小公举养成记》
展示了游戏的大框架及部分功能,其他功能类似 /*******************************************文件名: main.cpp*创建人: K&J*日期: 202 ...
- 《小公主养成记》——C++第一阶段项目
/*****************************************************文件名:main.cpp*创建人:郭新亮*日 期:2019-01-12*描 述:C++第一阶 ...
- C++实战——小公举养成记
本次实战只是学习C++的一个小练习 游戏规则: 游戏一共进行78个月 安排每月行程,合理规划增加基础属性等等- 用到的技能点: 分支结构.循环结构.数组.* vector / array.指针- 代码 ...
最新文章
- elf文件下载出错问题
- Flume实操(四)【单数据源多出口案例(选择器)】
- 搭建MySQL+MHA服务易错位置
- MFC鼠标OnMouseHover使用
- 从一个深度图里面导出NARF特征
- 状压[Jxoi2012]奇怪的道路
- 函数作为参数传递至函数内部进行调用
- 【java奇思妙想】eval(data)和eval(“(“+data+“)“)的区别
- asp.net学习之ado.net(无连接模式中的DataAdapter)
- 简化版“询问用户是否退出”
- 范华专栏 | 挪威主权基金2018年报解读
- 我的世界服务器无限矿区块指令,我的世界区块刷新指令 | 手游网游页游攻略大全...
- 乐优商城(12)--授权中心
- 在MinGW中构建GCC交叉编译器和GDB交叉调试器
- q-flashplus怎么使用_qflash是什么意思
- 拍摄视频,真的帧率越高越好吗?
- 无能的力量 -- 《看见》
- 基于STM32的人体红外测温
- LightOJ 1274 Beating the Dataset
- 微服务启动报错:Shutting down DiscoveryClient
热门文章
- 鼠标按下并移动事件的解决方案
- kalilinux安装中文输入法 安装fcitx,小企鹅输入法。
- 一个完整的计算机系统有哪五大组成部分,一个完整的计算机系统由哪些部份组成...
- whisper客服源码_以太坊源码分析—Whisper
- Opencvchina网站:把证件照蓝色背景转为白色
- 【基础】PHP变量及变量作用域
- 2019中国大学排名
- 读《创业36条军规》(六)凡事只能靠自己
- 手机影音第十五天,利用service实现后台播放音乐,在通知栏显示当前音乐信息等...
- 计算机网络期末复习(学会不挂科)