1 Star 0 Fork 9

luoxixuan / 2D_ACT

forked from tianjiuwan / 2D_ACT 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

2D_ACT

邮箱:1007991486@qq.com

介绍

2D横版格斗
曲线位移 技能同步 子弹 移动同步


2019.5.25:
玩家高度放入Box3D中的centerZ变量中
规范了Box3D中的命名规范,方便后续写逻辑
角色左右移动为X轴,上下移动为Y轴,跳跃为Z轴;玩家碰撞器也有3个分量,组成长方体,length对应X,width对应Y,height对应Z
加入了曲线移动状态,贝塞尔曲线实现


2019.3.8:
技能和伤害包同步
客户A释放技能,给服务器同步技能信息,服务器进行广播(A主动释放技能,如果等待服务器回包,可能不够流畅)
客户端B收到技能信息,播放技能
伤害检测由A检测,有攻击到实体给服务器同步,服务器再广播
客户端B收到伤害包,单纯做伤害包的动画,音效,位移,扣血...表现


2019.3.1:
服务器实体与客户端实体用同一套代码
客户端实体有展示,展示组件使用RoleShowWidget,客户端的表现都写在这个脚本中
关于移动同步
客户端A位置同步客户端B流程
客户端A每帧移动同步给服务器,服务器转发给其他客户端
服务器不做碰撞验证,A客户端给服务器同步位置的时候会做碰撞验证
服务器同步给B客户端同步A客户端位置,B客户端也不做碰撞验证


2019.2.27:
物理系统
游戏中的物理不再与Unity耦合,客户端和服务器共用一套物理系统
2D的碰撞全部都是垂直矩形,接口isCollision()检测是否与场景静态物体碰撞
效率问题,10W次调用开销20ms,客户端每次移动检测与静态物体碰撞,开销不大
服务器开销有点大,服务器只做位置碰撞检测,攻击伤害检测由客户端做


2019.2.23:
1.制作一个类似DNF的2D游戏(Github相关工具https://github.com/tianjiuwan)
** 2.资源相关:**
美术:Assets/Res/Arts下面存放美术资源和策划excel配置,可以有冗余资源(不会打包到ab中)
Assets/Res/AssetBundle下面的存放的美术资源会打包成ab
角色模型动画使用spine制作
程序:使用Tools下面的BuildAsset可以打包资源的assetbundle
3.代码相关:
** 资源管理** :位于UnityPool命名空间下,AssetBundle的管理使用引用计数,对象池时间管理,关卡管理
PoolMgr.Instance.getObj()获取一个GameObject,Sprite,异步加载所有依赖
PoolMgr.Instance.recyleObj()回收一个GameObject
PoolMgr.Instance.unLoad()中断加载
PoolMgr.Instance.preLoad()预加载
** C#对象池** :位于Pool命名空间下,管理一些创建频繁,生命周期短的对象
PoolMgr.Instance.getData()泛型获取一个对象,对象必须继承PoolObject
PoolMgr.Instance.recyleData()回收一个对象,对象必须继承PoolObject
实体类 :BaseEntity抽象出公有成员,管理实体模型加载状态,持有状态机,动画控制器..
MainPlayer继承自BaseEntity,注册了输入监听
EntityMgr.Instance.createRole(roleData)创建一个实体,实体由管理器管理
状态机 :使用有限状态机管理实体状态
目前做了一些简单的状态idle,run,jump,hit..
战斗 : 状态同步,由逻辑帧驱动,1秒30帧
动画,音效,特效..都有逻辑帧驱动
网络 :服务器使用DotNetty,ProtoBuf做数据传输协议(github有导出C# protobuf文件工具)
客户端维护Socket,可在C#序列化和反序列化协议,也可以在Lua那边序列化和反序列化协议
Lua :使用tolua写热更新业务逻辑(github有导出lua protobuf文件工具)

空文件

简介

2D横版格斗 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/luoxixuan/2D_ACT.git
git@gitee.com:luoxixuan/2D_ACT.git
luoxixuan
2D_ACT
2D_ACT
master

搜索帮助