• 【从零开始游戏开发】 XLua框架 和 项目框架 | 全面总结 |建议收藏


    你知道的越多,你不知道的越多 🇨🇳🇨🇳🇨🇳
    点赞再看,养成习惯,别忘了一键三连哦 👍👍👍
    文章持续更新中 📝📝📝


    1️⃣前言🔥🔥🔥

    有需求Lua项目框架的可以扫码咨询
    在这里插入图片描述


    2️⃣项目中引入Xlua框架的时机与作用🔥🔥🔥

    新项目,引入Xlua插件,主程指定整体架构Xlua框架,选择对应的技术方案

    🚩游戏类型:弱联网(卡牌),强联网(mmo),PVE单机+PVP实时对战(部分强联网部分弱联网),Moba还需要长连接的socket来做

    🚩功能划分与Scene场景规划:主场景切换场景,背包装备等功能不需要切换场景,UI类场景,遇到敌人切换到战斗场景

    🚩特殊需求:创新点,提供技术支持,现成插件支持

    🚩制定模块系统:版本,数据,配置,日志管理系统,C#调用lua的主脚本,主脚本处理lua内模块的功能,简单,符合lua开发方式,复杂问题简单化

    中后期项目:建议重构,最快1个月,主程经验越好越多重构越快,热补丁是高风险,大型项目不推荐HotFix

    🚩核心数据的Lua存储

    🚩配置文件挪到Lua中,C#中是json,xml文件,lua专门写工具,策划excel转换成lua

    🚩网络交互使用lua封装和调用

    🚩业务功能模块不再绑定C#脚本,全局C#脚本,lua脚本负责业务,lua管理机制

    🚩每个UI功能使用lua处理,逻辑脚本,展示脚本,显示数值,图片,按钮,通用的需要架构来处理

    🚩战斗等复合功能模块,增加辅助Lua处理

    🚩原框架核心功能部分改成Lua来实现,部分打上LUACallC#标签,部分Lua来实现

    🚩实现Lua模块之间的通信,订阅发布,松耦合


    3️⃣项目框架提供功能🔥🔥🔥

    这个简单项目框架提供

    1. 调用对应的资源,提前加载资源,按需加载,不需要时卸载(按频率),算法机制

    2. 相关数据来支持你优化功能,综合考虑,不是非一即二

    3. 框架部分C#与lua相融合

    4. 资源更新的服务器地址,GameLoading阶段,AssetsList.txt资源列表文件下载,与本地的对应文件进行校验,大版本号是否大于,逐步对比资源包清单文件,大块比较,图片,预制体,配置文件,音乐,字体等,按功能比较,上传时间比较,包含文件类型比较,解压,相应存放,资源包大小比较,发生变化MD5也会变化,做一下检验,需要更新的加入待更新列表,一个一个下载资源包。

    5. 上传时间、类型、资源包大小、MD5、辅助信息 = 热更新包(需要更新的资源)
      每一个资源包有唯一的地址,名字,MD5定位资源包,Unity的WWW下载到本地,资源包Size信息,进度条变化根据资源包下载的Size大小比例。

    6. 客户端的版本号替换成服务器的版本号

    7. 下载完成,资源初始化,资源提前加载,资源管理器把资源包加入到内存,不同类型不同容器存储,功能名字,资源名字,方法调用,定位,解包,拿取资源

    8. 进入游戏,系统内部做了Main游戏对象,整个项目唯一的通过C#与Lua的枢纽,挂了一个C#脚本LuaBehaviour,开启Lua虚拟机,设置前置信息,启动加载目录,完成全部前置操作,启动Main.Lua脚本。

    9. require引用模块,必要功能,public公共的功能,自行维护,ui打开关闭,net网络有关,主数据,plugin插件功能,所有头文件引用,tools工具类功能,方便程序员扩展,自行维护,list容器,绝大部分数据容纳,event消息事件接收功能,GameMainData游戏主数据,和业务有关数据,数据结构模型;StaticData静态数据,放配置文件。

    10. Lua的配置文件,Lua是脚本,比json和xml优势是IO磁盘功能读取快,加载到内存当中,并提供了加载读取的方法

    11. Start方法,通过UI功能打开UI,预制体形式存在

    12. update方法,实时更新数据,

    13. socketSendMsg方法,长连接,事件进行广播


    🎁🌻🌼🌸 粉丝福利来喽 🎁🌻🌼🌸

    1. 免费领取海量资源 🎁
      简历自测评分表、Unity职级技能表、面试题库、入行学习路径等
    2. 《Unity游戏开发五天集训营 》50个名额 🎁
      我给大家争取到了 50个《游戏开发五天集训营 》名额,原价198,前50个免费
      扫码加入,暗号小听歌
      即可参加ARPG狼人战斗系统、饥荒生存类游戏开发、回合制RPG口袋妖怪游戏等游戏开发训练营
    3. 额外抽奖机会🎁
      参加游戏训练营、还有机会获得大厂老师在线面试指导、或者有机会获得价值1998元的《Unity极速入门与实战》课程
    🔻🔻🔻🔻 扫下方二维码,获取游戏开发福利,暗号小听歌 🔻🔻🔻🔻
  • 相关阅读:
    【概率论与数理统计】第二章知识点复习与习题
    LabVIEW在应用程序和接口中使用LabVIEW类和接口
    mybatis执行器,缓存
    微信小程序6 - 自定义组件
    卫龙辣条第三次冲刺上市:业绩增速下滑,刘卫平、刘福平提前套现
    LeetCode Java刷题笔记—105. 从前序与中序遍历序列构造二叉树
    微信小程序上传文件或图片(包含base64)至七牛云
    企业微信hook接口协议,ipad协议http,发送大视频文件
    MySQL:日期函数整理
    Java校园二手平台项目商城电商购物系统(含源码+论文+答辩PPT等)
  • 原文地址:https://blog.csdn.net/qq_21407523/article/details/127605472