吃鸡攻略网站源码分享?吃鸡攻略秘籍图

这篇文章给大家聊聊关于吃鸡攻略网站源码分享,以及吃鸡攻略秘籍图对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

《绝地求生大逃杀》(下称PUBG)这款游戏已经发布一年了,获取了不少赞誉和奖项。然而由于神仙泛滥,让我等本来就夕阳红枪法的玩家成盒概率大大上升。虽然有大牛开发了仿PUBG的练枪游戏,但这些游戏都是单机的,一个人练枪太无聊,想要和小伙伴一起练,怎么办呢?

步骤

1.要看懂这篇文章,首先,你得有一定的Unity开发功底,以及入门级的Java语法;

2.访问Unity的AssetStore下载一个射击类游戏项目,并且Import到Unity内;

3.访问BGS官网,注册账号并下载UnitySDK、GameCloudSDK;

4.将BmobGame_UnitySDK_vx.x.x_xxxxxx.unitypackageImport到Unity内;

5.修改SDK,将游戏开始跳转的Scene改为你下载的射击类游戏DemoScene;

6.在DemoScene进行SDK的初始化,绑定delegate用于处理各种通知;

7.将本地角色LocalPlayer的移动、面向角度、姿态(卧倒/下蹲/持有手枪/持有步枪)等数据,调用SDK接口同步到服务器;

8.将LocalPlayer的瞬时动作(如开火/跳跃/换弹匣、拾取物品等Pose)通过SDK接口直接发送到其它玩家;

9.击中其它玩家时,将事件详情通知到服务器云端代码,包括所用武器、击中身体部位、对方的id;

10.读取服务器同步的数据,修改LocalPlayer的血量、击杀数、名次,并渲染其它玩家的位置、角度、姿态。获取其它玩家直接发送的瞬时动作,操作Animator;

11.在BGS官网登录管理后台,创建游戏,修改服务器运行配置,包括每秒帧率(默认60Hz)、房间最多玩家数(2个或以上);

12.修改玩家属性配置,设置各个属性的名称、类型、长度、值域、由云端/客户端编辑、其它玩家是否可见等。下方有PUBG的玩家属性例子;

13.打开Eclipse或AndroidStudio,创建Java项目,导入BmobGame_JavaCloud_vx.x.x_xxxxxx.jar,并创建Player.java和Room.java,分别继承自PlayerBase.class和RoomBase.class后,编写游戏逻辑代码。下方有案例;

14.打包运行游戏,就可以多人同时在线对战啦~

接下来大概介绍一下开发的要点,Demo源码、具体开发流程敬请期待后续教程

开发体验

本人Unity不熟络,在拿着一个半成品的UnityFPS项目的情况下,添加3D模型、制作Animation和Animator花费了较多时间,到现在还没有把持有武器状态下的模型和动作结合起来。

但是在基于客户端基本完工的情况下,接入BGS,把它从一个单机游戏变成了多人联网游戏,仅花费1小时。马上就可以多人开黑啦。

运行效果

Demo测试运行视频(B站基于BmobGameSDK开发自己的联网“吃鸡”游戏)

可以说除了动作不完善之外,联网射击对战游戏基本上的要素都具备啦

玩家属性配置

玩家的属性有以下几种类型:

当属性类型为xxx[]时,需要指定数组长度count,以便服务器优化同步效率

每个玩家属性还有export、editable两个开关,默认都为false,以下是这两个开关的描述:

Export:

Editable:

一个属性不能同时Export==false且Editable==True,因为这种属性往往不需要经过网络

以下是PUBG的推荐玩家属性配置

云端代码

·BGS的云端代码可以完美实现游戏的后端逻辑层,并且有热更新机制,可以随时修改、升级

·缝合了Bmob数据服务,可以快速进行Bmob数据库的增删查改,其中Bmob.class的用法与BmobJava云函数的modules.oData完全一致

主要需要开发者实现的有Room.java、Player.java

Room.java

继承自RoomBase.class,作用是管理、监控房间的生命周期

以下是类属性:

以下是可主动调用的方法:

以下是需要Override的生命周期相关监听方法:

这些方法都没有参数,返回值均为void

Player.java

继承自PlayerBase.class,作用有:

1.管理、监控玩家的行为和生命周期

2.修改玩家属性值(editable==false的属性)

3.监听玩家属性值变动(editable==true的属性)

以下是类属性:

以下是可主动调用的方法:

以下是需要Override的生命周期相关监听方法:

这些方法都没有参数,返回值均为void

Player.java允许自定义获取属性方法、修改属性方法、监听属性方法

例如,如果云端代码需要修改玩家的hp属性,需要在Player.java添加方法:

如果需要获取玩家的position属性,添加方法:

需要监听玩家的position属性变动,添加方法:

需要处理客户端的Action,如客户端上报击中其它玩家,Action为Damage,添加方法:

END,本文到此结束,如果可以帮助到大家,还望关注本站哦!

Published by

风君子

独自遨游何稽首 揭天掀地慰生平