GameFramework笔记
文章平均质量分 81
baixiaofei567
如果十年前没种树,那最好的时间是现在
展开
-
GameFramework——引用池&对象池
前言之前做游戏的时候用过对象池,适用于频繁使用回收的对象,可以防止对象反复生成和销毁,减少gc,之前用于人物移动的残影上。GF中有两个池子,之前一直不知道有什么区别,直到看了传送门,没错又是群主大佬的文章,才知道引用池和对象池原理一样,但是适用的对象不一样,一般引用池用于存储C#类型的对象,对象池用于Unity相关的GameObj对象。引用池打开GF源码,可以看到关于ReferencePool有这四个文件。先分别介绍这四个类和他们的功能,最后拿StarForce中的一个例子来看看~IRefere原创 2022-01-24 23:47:35 · 1763 阅读 · 0 评论 -
GameFramework——UI
前言刚开始做游戏时,大家就说入行了都是UI仔,证明了UI的重要性,导致我对UI框架一直有一种畏惧的心理。这次就从GF的UI加载来简单看看GF的UI框架以及它的使用在这里给大家推荐我们群主写的GF解析,写的非常好传送门打开UI界面第一视角分析,找到ProcedureMenu.cs首先订阅一个UI成功打开的事件,接下来就是一个OpenUIForm函数我们继续往上,还需要往上。此处int?代表可空类型,如果没有赋值会返回null而不是0此处我们通过读取配置表,并且加上前置路径,继续往上看原创 2022-01-23 00:37:51 · 1699 阅读 · 0 评论 -
GameFramework——事件系统
委托和事件要搞懂GF的事件系统,我们要先搞清楚什么是委托和事件传送门委托delegate我认为就是一种函数类型,从而可以绑定多个同种返回值,参数的函数用于同时触发,而事件event就是委托的一种特殊形式,调用后可以用于来通知(调用)处理该事件的相应方法而GF的事件系统则在触发事件的时候,传入了发送通知的本体(this)和EventArgs若要创建自定义事件数据类,请创建一个派生自类的类, EventArgs 并提供用于存储所需数据的属性。 自定义事件数据类的名称应以结束 EventArgs 。原创 2022-01-21 16:54:57 · 2151 阅读 · 0 评论 -
GameFramework——资源加载
前言此处的资源加载,只是简单涉及到了资源模块,并没有很详细的介绍(当然我自己也没有很详细的学习)三种模式下的资源加载可更新模式就是我们前两篇文章资源热更新的流程原创 2022-01-19 21:08:48 · 1764 阅读 · 0 评论 -
GameFramework——资源热更新
前言时隔俩月,继续学习GF资源更新流程目前的我学习的版本好像和这个有点出入,比如checkversion后会更新是否需要更新进入updateVersion和checkResource两个流程ProcedureCheckVersionOnEnter订阅webrequest成功或者失败的事件向服务器请求版本信息其中GameEntry.BuiltinData.BuildInfo.CheckVersionUrl在Config文件夹下的同名文件中可以进行配置OnWebRequestSuccess原创 2022-01-15 15:49:54 · 954 阅读 · 0 评论 -
GameFramework——资源热更新实操
Gameframework资源热更新实际操作原创 2022-01-18 16:30:15 · 2630 阅读 · 0 评论 -
GameFramework——打包
AssetBundleAB包的作用AssetBundle的作用是,把资源打包,然后可以在需要的时候动态加载,从而可以实现资源的热更新。之前学习了唐老狮的AB包打包课程,需要进行比较复杂的配置,但是GF已经帮我们安排好了最基础的部分,所以在一般项目中不用过分关心这些配置,只需要把相应的资源打包进相应的包里即可。打包StarForceAB包,从左往右分别是AB列表、AB包内的内容列表、Asset资源列表添加AB包时左边填的是AB包名称,包含路径用/分割。后面是变体名称,比如muscic.bg,mu原创 2021-10-27 18:08:07 · 1446 阅读 · 1 评论 -
GameFramework——Procedure
前言结束了鹅厂三个多月的实习后,回到学校,当然不能忘记学习GF,今天就来盘一盘GF中的精华——流程流程,是贯穿游戏运行时整个生命周期的有限状态机。通过流程,将不同的游戏状态进行解耦将是一个非常好的习惯。对于网络游戏,你可能需要如检查资源流程、更新资源流程、检查服务器列表流程、选择服务器流程、登录服务器流程、创建角色流程等流程,而对于单机游戏,你可能需要在游戏选择菜单流程和游戏实际玩法流程之间做切换。如果想增加流程,只要派生自 ProcedureBase 类并实现自己的流程类即可使用。看到上面的类图我原创 2021-10-27 17:21:47 · 370 阅读 · 0 评论 -
GameFramework——FSM
前言提到FSM有限状态机,做过游戏的人应该都知道简单的敌人AI很多情况下都是基于这个实现的。其实前不久吉比特面试官也问过我,有没有使用过状态机模式来运行整个游戏,我根本听不懂他在说什么。直到看了GF之后,才懂了些。GameFramework整个游戏流程也是基于状态机来实现的,我们先在这篇笔记看看状态机,下一篇再研究流程~总的来说,我觉得只要是能切换的都可以基于这个模块来实现?比如idle状态切换到move状态标题...原创 2021-06-09 01:23:20 · 628 阅读 · 0 评论 -
GameFramework——Entry
前言看了两三天GF,发现群主大佬的无境和GF竟有几分相似,希望我毕设也是能做出差不多级别的项目~一开始是从流程Procedure模块开始看的,但是又涉及到状态机,里面的层层封装看的我有点麻。看了网上的一些教程和说明,我就先从Entry(入口模块)入手了。(我在博客里写自己的心得体会以及一些大佬的讲解,主要是为了记录下自己的学习过程,不是为了大家能学到啥东西,当然如果大家能有一丝收获当然是最好的!有错误也希望大家能指出,因为我也只是个只做过一些小游戏的人罢了)Entry这个场景就是StarForce原创 2021-06-02 22:31:11 · 330 阅读 · 1 评论 -
GameFramework——前言
前言大二的时候就看群友推荐学习这个框架,也看了烟雨的一些博客,但是那个时候的我是根本没有这个能力学习这个框架的。直到现在我也找到了一份满意的实习,基础知识方面背的也算比较完整了。所以希望能通过学习gf框架提升一些游戏开发的思想以及掌握一些功能的实现。Game Framework 简介Game Framework 是一个基于 Unity 引擎的游戏框架,主要对游戏开发过程中常用模块进行了封装,很大程度地规范开发过程、加快开发速度并保证产品质量。适用于 Unity 5.3、Unity 5.4、Unity原创 2021-05-31 22:26:31 · 363 阅读 · 1 评论