把飞机架起来

简介: 基于前面2篇文章,我们已经可以让游戏在端到端上连动起来,那么这次我写了一个飞机的小游戏。 #效果 下面是截图: ![image.png](http://ata2-img.cn-hangzhou.img-pub.aliyun-inc.com/03756028b6c6ff0e7e42a88721acf762.png) 2边各控制一台飞机,在2端实时互动。 为了好看,我加入了简单的特效

基于前面2篇文章,我们已经可以让游戏在端到端上连动起来,那么这次我写了一个飞机的小游戏。

效果

下面是截图:
image.png

2边各控制一台飞机,在2端实时互动。
为了好看,我加入了简单的特效,背景光环与一个半月,我称之为月金轮。

如何架构

image.png

主体涉及到的动画逻辑是 坐标的概念与定时器。
其中子弹是靠定时器触发的,如下面代码所示,每0.8秒产生一次射击。

image.png

月金轮相对于飞机是二级旋转,对应坐标系如下
image.png

需要将这2个坐标系的旋转合成。实现如下:
将月金轮设为背景光环的子节点。

image.png

背景光环与月金轮同时旋转。

image.png

引申

和前面文章不同的是,现在似乎2端似乎不太同步了。
我们看下图

image.png

除了位置受对方控制外,我们对月金轮的特效都是两边各自渲染,由于2端的所分配的CPU状况不同,必然会
产生这些差异。
这就产生了2个分支:
完全同步与关键同步。
我把2端简化称为A,B端。
相对应的投影称之为A', B'。

image.png

完全同步:A'的所有动作绝对与A一致,终端2上的A'的每个旋转角度都有A同步过来,这样当终端1本身卡顿或者网络延迟时终端2上的A'表现会
很卡。
关键同步:各自按同一套机制渲染,终端1上的A将结果同步到A',终端2上的B将结果同步到B'。

王者荣耀与本例采用的是关键同步,2端的动作并不是绝对一致,也无法做到绝对一致。

最后放上我们的视频。
http://v.youku.com/v_show/id_XMzA5MDAwMDg2NA==.html?spm=a2hzp.8244740.0.0

目录
相关文章
|
4月前
|
监控 前端开发 JavaScript
楼层导视软件
楼层导视软件通过直观的3D地图和精准的实时定位功能,帮助用户快速找到目的地,大大节省了时间和精力。
56 0
楼层导视软件
|
Python
飞机大战-显示我方飞机
用Python进行编写飞机大战,显示我方飞机。
63 0
|
自动驾驶
飞行车
飞行车
239 1
飞行车
|
Python
拼夕夕版飞机大作战
拼夕夕版飞机大作战
102 0
飞机静电放电器
本报告研究全球与中国市场飞机静电放电器的产能、产量、销量、销售额、价格及未来趋势。重点分析全球与中国市场的主要厂商产品特点、产品规格、价格、销量、销售收入及全球和中国市场主要生产商的市场份额
飞机改装服务
本文研究全球及中国市场飞机改装服务现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
|
机器人 测试技术
130KG 的机器人能拉动 3 吨的飞机,这也太酷了吧!
尽管很炫酷,但拉飞机当然不可能是 HyQReal 的主要工作。
809 0