![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GameFramework学习
文章平均质量分 77
好昵称都被猪拱了
这个作者很懒,什么都没留下…
展开
-
GF_JustOneLevel更新,V1.0.2发布说明
GF_JustOneLevel为笨木头开源的基于GameFramework框架的小游戏GitHub地址:https://github.com/mutouzdl/GF_JustOneLevelV1.0.2发布说明#修复Bug:#12武斗家的攻击动作还没出现就造成了伤害 #11偶然出现:所有怪物状态无法转换,所有子弹突然发出后不会移动了,而且泉水也失去效果#优化:加强恶魔泉的伤害效果 调整神射手的子弹速度 怪物的血量条调高了一点,主角的血量、魔法值显示在中间下面 调整怪物和英...转载 2022-02-18 09:43:19 · 221 阅读 · 0 评论 -
GF_JustOneLevel更新,V1.0.1版本发布说明
GF_JustOneLevel为笨木头开源的基于GameFramework框架的小游戏GitHub地址:https://github.com/mutouzdl/GF_JustOneLevelV1.0.1版本发布说明:新增增加英雄商店UI 增加神射手和武斗家两个英雄 增加白猫怪物、老虎怪物 激光射线子弹改为黄色效果优化主角技能按钮增加MP消耗值显示 怪物累计接受3次伤害后往后回弹的距离,增加边界的判断 增加AtkAnimTime字段,用于设置各个怪物的攻击动画时间,优化攻击和转载 2022-02-18 09:42:36 · 190 阅读 · 0 评论 -
[GameFramework]杂记001-关于protected internal visual void OnInit()函数
在GameFramework中,大家可能经常遇到一个错误(比如把我的代码放在Unity5.x里运行时),这个错误和类似protected internal visual void OnInit的函数重写有关。刚好今天有位朋友问了我一个问题,所以我就专门再仔细看了看。首先,internal代表只有同一个程序集下的代码可以访问,这个是前提,这个语法大家应该都知道。问题就在于protected,protected代表子类可以访问。于是,大家是不是就认为,protected internal只能...转载 2022-02-18 09:40:43 · 297 阅读 · 0 评论 -
GF_JustOneLevel食用指南002:主要功能
虽然这是一个很简单的游戏,但,功能还是不少的,起码是一个能正常玩的游戏了。本游戏包含以下功能:1.场景切换带Loading功能,目前Loading只是加载了一个LoadingUI,大家可以自行修改这个UI,不过,目前不支持进度条;2.从配置文件读取并加载实体GF自带,没什么好说的3.状态机使用的是框架的状态机功能,用于控制角色的站立、行走、攻击、受伤等状态,使用的是并发状态机(一个角色用多个状态机控制)、分层状态机(状态继承)。这部分写得比较烂,因为目前状态很少(没有任何buff转载 2022-02-18 09:39:29 · 172 阅读 · 0 评论 -
GF_JustOneLevel食用指南001:下载、运行
1. 下载运行本项目使用的是Unity3D 2018.1版本,所以大家最好也使用2018及以上版本,当然,2017也是支持的,至于5.x及以下版本,是不兼容的。从github(https://github.com/mutouzdl/GF_JustOneLevel)克隆项目后,直接用Unity3D打开项目文件夹即可。2.目录结构本项目主要有以下几个目录:GF_JustOneLevel:存放本游戏的所有代码和资源GameFramework:框架源码UnityGameFramewo..转载 2022-02-18 09:38:24 · 146 阅读 · 0 评论 -
[GameFramework]Demo-StarForce无封装简陋不完全版
由于GameFramework的官方Demo(StarForce)封装的比较多,不利于入门学习(但作为代码风格和编程思路的学习是非常好的),所以,我打算用尽量少(能不能用就不用)的封装来重新实现一遍StarForce的基础功能,希望能帮到初学框架的你。在学习此Demo之前,强烈建议先看完Demo1至Demo6。本Demo源码:https://github.com/mutouzdl/gameframework_demo.git下载源码后,用Unity3D打开工程,进入DemoStarForce目录,.转载 2022-02-18 09:37:24 · 304 阅读 · 0 评论 -
[Game Framework之StarForce解读]05.玩家飞机逻辑处理类
通过上一篇的研究,我们已经了解到玩家飞机和怪物是怎么加载出来的(根据配置id读取配置文件,创建实体)。我们来回忆一下,玩家飞机是怎么创建的:GameEntry.Entity.ShowMyAircraft现在,为了知道玩家飞机的逻辑是在哪里处理,我跟进了ShowMyAircraft函数,又发现了框架作者的秘密。1.GameEntry.Entity来源ShowMyAircraft函数是通过GameEntry.Entity调用的,那我们自然要先知道这里的Entity是什么东西。如果大家还记得最开始的转载 2022-02-18 09:35:30 · 216 阅读 · 0 评论 -
[Game Framework之StarForce解读]04.游戏场景
上一篇我们聊得不是很愉快,我觉得我们不是很适合…个屁啊!都说些什么呢。上一篇我们只是发现了框架的作者是怎么让游戏进入到游戏主场景的,真正重要的是游戏主场景里都做了些什么事情,这一篇,我们就来瞎猜ProcedureMain里都做了些什么吧。(旁白:果然从一开始就是骗人的啊,一直都瞎猜的啊!)1.OnInitProcedureMain也是一个流程,自然也就按照流程的生命周期来研究它了,首先是OnInit,这个就算瞎猜都知道,它是在OnEnter之前执行的,我非常肯定….后来我还是研究了一下,发现,O转载 2022-02-18 09:28:37 · 443 阅读 · 0 评论 -
[Game Framework之StarForce解读]02.游戏入口
1.入口游戏的入口很容易找,我才找了半天就找到了,就在这:GameEntry很简单,只在Start的时候执行了两个初始化函数:/// <summary>/// 游戏入口。/// </summary>public partial class GameEntry : MonoBehaviour{ private void Start() { InitBuiltinComponents(); InitCusto.转载 2022-02-18 09:26:05 · 1109 阅读 · 0 评论 -
[Game Framework之StarForce解读]01.StarForce下载运行
最近木头打算研究一个很厉害的Unity3D框架——Game Framework。 虽然我还没有开始研究,但是,感觉起来是非常厉害的,所以我想研究一下。 由于作者非常忙,导致框架的文档奇缺,想要研究这个框架,只能一步步看源码。 作者写了一个Demo项目——StarForce,依旧是没有文档说明,所以我打算一边研究这个Demo,一边分享教程。 那么,我们从下载和运行开始吧!首先下载StarForce工程:GitHub - EllanJiang/StarForce: This is a demo made w转载 2022-02-18 09:25:12 · 1423 阅读 · 0 评论 -
[GameFramework]Demo10-有限状态机的使用
最近有朋友需要Game Framework状态机的使用教程,所以我就简单说说状态机的用法吧。本Demo只介绍Game Framework框架状态机的使用方式,至于什么是有限状态机,以及状态机的最佳使用方式,大家自行学习。1.FsmState(有限状态机基类)状态机包括角色的各个状态,只要让我们的状态类继承FsmState即可。在继承FsmState的时候需要指定一个类型,这个类型就是状态的持有者。比如我们有一个英雄,英雄有行走和站立的状态,那么,这些状态的持有者就是这个英雄。本Dem.转载 2022-02-17 18:07:49 · 503 阅读 · 0 评论 -
[GameFramework]Demo9-AssetBundle打包的一些坑
关于AssetBundle的用法,官方已经有两篇文档了,我当然不会重复写的。但是,对于AssetBundle新手来说,官方那两篇文档还少了几个细节,这几个细节可能会导致新手无法打包成功,所以我在这里以补充的角度和大家讲解一下AssetBundle(针对GF框架)的注意事项。(另外,Demo8还没完成,因为有朋友问到了打包的问题,所以先研究这块了)1.为什么打包后,场景加载不了大家别笑,有位朋友问我,为什么打包成windows平台后,加载场景都失败了。然后我觉得很奇怪,怎么会呢,后来我试了试….转载 2022-02-17 18:04:56 · 806 阅读 · 2 评论 -
[GameFramework]Demo8-NetWork网络连接、发送、接收数据
关于NetWork这一块,我折腾了两个多星期了,因为每天只有1个多小时的时候,思路很不连续,一度想放弃。还好坚持下来了,其实NetWork这块的使用不难,只是我自己掉进坑里了。没错,我要来和大家分享我的坑,以及演示NetWork从连接到发送数据,再到接收数据的处理。1.大致流程网络组件的使用大致使用流程如下:a.创建频道(NetworkChannel)b.绑定频道辅助器(NetworkChannelHelper)c.注册频道的消息监听类(PacketHandler),即服务端发送某类消息过转载 2022-02-17 18:00:37 · 2169 阅读 · 5 评论 -
[GameFramework]Demo7-发起Web请求
虽然官方目前还没有写WebRequest组件的文档,但是,这个组件的API相对比较简单,我也简单地演示其中一个吧。 API列表 WebRequest组件用于发起短链接的请求,包括Get、Post,以上几个不同的AddWebRequest函数是用于在发生数据的时候附上post数据、Form表单数据,这个看参数名就知道了。至于userData,当然是自定义的数据,在请求成功或失败时可以获取这个自定义数据。 一个简单的Get请求 新建一个场景(Demo7_Launch)和一个初始流程(D转载 2022-02-17 17:07:22 · 403 阅读 · 0 评论 -
[GameFramework]Demo6-创建实体
实体是游戏里最重要的对象之一,本篇我们一起来看看怎么创建实体。1.创建初始场景和实体预制体(Prefab)初始场景的创建就不多说,一个Demo6场景加上一个Demo6_ProcedureLaunch.cs流程脚本,并设置好初始流程,具体参考Demo1。创建实体时,是从预制体创建的,所以我们需要建一个预制体,随便建,比如我建了一个很复杂的预制体——一个Cube。我们把预制体命名为CubeEntity吧。最终的目录结构是这样的:2.实体逻辑处理类一个实体预制体仅仅只是用来展现的,要.转载 2022-02-17 17:06:25 · 510 阅读 · 0 评论 -
[GameFramework]Demo5-加载配置文件
加载配置文件也算是这个框架的基础,很多事情都依赖于配置文件(比如加载实体也是先读取配置文件,然后再创建对象的),本Demo将和大家一起了解GameFramework是如何加载配置文件的。关于加载配置文件,官网也是有文档的,大家可以选择看文档:http://gameframework.cn/archives/category/module/buildin/datatable本文只做简单的补充说明,和要注意的地方。1.配置文件格式官方默认的配置文件格式是"制表符分隔"文本,即用tab作为分隔符的文件转载 2022-02-17 17:05:32 · 442 阅读 · 2 评论 -
[GameFramework]Demo4-内置事件订阅
这一篇我们来看看怎么订阅内置的一些事件,这些事件有很多很多,比如打开UI成功事件…以及……对,我们一起来看看吧。(旁白:你倒是多举几个例子啊!)1.创建项目、初始场景、菜单场景对于这些基础操作,大家参考之前的Demo就好了,这里不多说。最终我们需要一个初始场景、一个菜单场景,菜单场景里随便加载一个菜单(使用框架的方式),如果大家不指定怎么做的话,请阅读《Demo3-加载UI》或者直接查看本Demo4源码。2.订阅打开UI成功事件还记得我们是在哪个地方打开UI的吗?(旁白:不记得).转载 2022-02-17 17:04:29 · 182 阅读 · 0 评论 -
[GameFramework]Demo3-加载UI
对于Demo2,可能写的有点乱,因为我没想到切换流程和场景是要涉及到多个知识点的,我的错。这次我们简单一点,来演示一下如何用Game Framework框架加载UI,不涉及其他操作。1.创建基础项目请确保你已经阅读过Demo1和Demo2,或者你已经知道如何创建Game Framework空项目,以及切换流程的方式。我们需要新建一个Demo3项目,并且把初始场景和菜单场景给创建好,文件列表如下:Demo3:初始场景Demo3_Menu:菜单场景Demo3_ProcedureLaunch.c转载 2022-02-17 17:01:04 · 536 阅读 · 0 评论 -
[GameFramework]Demo2-切换流程和场景
来自2018.11.20的补充:切换场景时,需要提供完整路径,之前是我疏忽了,误导了大家。来自2018.12.18的补充:切换场景时,除了需要提供完整路径外,还需要提供后缀名。这个Demo是为了和大家展示Game Framework切换场景的方式,但是切换场景又涉及到切换流程,所以就一起介绍了。1.创建初始场景(Demo2)这个Demo需要三个场景:初始场景(永久存在,不卸载)、菜单场景、游戏场景。我们先来创建初始场景,创建一个项目,新建一个场景,命名为Demo2,然后创建一个Demo2_P..转载 2022-02-17 16:59:54 · 652 阅读 · 1 评论 -
[GameFramework]Demo1-如何创建一个GameFramework项目
为了弥补官方文档的严重缺失,同时也希望Game Framework这个框架能稍微流行开来(不管它优不优秀,代码是绝对值得学习的),木头我就自愿帮框架作者写一些基础的Demo教程吧。噢,天呐,我真伟大(注意,这不是一篇翻译的文章!)这一篇,我们先从创建一个GameFramework项目开始。1.下载GameFramework Package首先要到框架的官网下载资源包:http://gameframework.cn/download资源包里包含了GameFramework框架的Dll(源码可以到转载 2022-02-17 16:57:49 · 497 阅读 · 1 评论