吃鸡上分方案:放大招
吃鸡上分方案:放大招8. 将 LocalPlayer 的瞬时动作(如开火/跳跃/换弹匣、拾取物品等Pose)通过SDK接口直接发送到其它玩家;7. 将本地角色 LocalPlayer 的移动、面向角度、姿态(卧倒/下蹲/持有手枪/持有步枪)等数据,调用SDK接口同步到服务器;4. 将 BmobGame_UnitySDK_vx.x.x_xxxxxx.unitypackage Import 到Unity内;5. 修改SDK,将游戏开始跳转的 Scene 改为你下载的射击类游戏 Demo Scene;6. 在 Demo Scene 进行SDK的初始化,绑定 delegate 用于处理各种通知;
《绝地求生大逃杀》(下称PUBG)这款游戏已经发布一年了,获取了不少赞誉和奖项。然而由于神仙泛滥,让我等本来就夕阳红枪法的玩家成盒概率大大上升。虽然有大牛开发了仿PUBG的练枪游戏,但这些游戏都是单机的,一个人练枪太无聊,想要和小伙伴一起练,怎么办呢?
步骤1. 要看懂这篇文章,首先,你得有一定的Unity开发功底,以及入门级的java语法;
2. 访问 Unity 的 Asset Store 下载一个射击类游戏项目,并且 Import 到 Unity 内;
3. 访问 BGS官网,注册账号并下载 Unity SDK、GameCloud SDK;
4. 将 BmobGame_UnitySDK_vx.x.x_xxxxxx.unitypackage Import 到Unity内;
5. 修改SDK,将游戏开始跳转的 Scene 改为你下载的射击类游戏 Demo Scene;
6. 在 Demo Scene 进行SDK的初始化,绑定 delegate 用于处理各种通知;
7. 将本地角色 LocalPlayer 的移动、面向角度、姿态(卧倒/下蹲/持有手枪/持有步枪)等数据,调用SDK接口同步到服务器;
8. 将 LocalPlayer 的瞬时动作(如开火/跳跃/换弹匣、拾取物品等Pose)通过SDK接口直接发送到其它玩家;
9. 击中其它玩家时,将事件详情通知到服务器云端代码,包括所用武器、击中身体部位、对方的id;
10. 读取服务器同步的数据,修改 LocalPlayer 的血量、击杀数、名次,并渲染其它玩家的位置、角度、姿态。获取其它玩家直接发送的瞬时动作,操作Animator;
当属性类型为 xxx[] 时,需要指定数组长度 count,以便服务器优化同步效率
每个玩家属性还有 Export、editable 两个开关,默认都为false,以下是这两个开关的描述:
Export :
Editable :
一个属性不能同时 Export==false 且 Editable==True,因为这种属性往往不需要经过网络
以下是 PUBG 的推荐玩家属性配置
· BGS的云端代码可以完美实现游戏的后端逻辑层,并且有热更新机制,可以随时修改、升级
· 缝合了Bmob数据服务,可以快速进行Bmob数据库的增删查改,其中 Bmob.class 的用法与 Bmob Java云函数 的 modules.oData 完全一致
主要需要开发者实现的有 Room.java、Player.java
Room.java继承自 RoomBase.class 作用是管理、监控房间的生命周期
以下是类属性 :
以下是可主动调用的方法 :
以下是需要Override的生命周期相关监听方法 :
这些方法都没有参数,返回值均为void
继承自 PlayerBase.class 作用有:
1. 管理、监控玩家的行为和生命周期
2. 修改玩家属性值(editable==false的属性)
3. 监听玩家属性值变动(editable==true的属性)
以下是类属性 :
以下是可主动调用的方法 :
以下是需要Override的生命周期相关监听方法 :
这些方法都没有参数,返回值均为void
Player.java 允许自定义 获取属性方法、修改属性方法、监听属性方法
例如,如果云端代码需要修改玩家的hp属性,需要在 Player.java 添加方法:
如果需要获取玩家的position属性,添加方法:
需要监听玩家的position属性变动,添加方法:
需要处理客户端的 Action 如客户端上报击中其它玩家,Action 为 Damage,添加方法: