-
gameframework-1、使用gameframework源码替代GameFramework.dll
2020-04-25 14:32:05GameFramework替换源码 --------使用StarForce 为例--------- 项目工程 GameFramework源码地址 PS Important!!! GameFramework源码的版本要和StartForce项目的版本要匹配,不然会报错 下载StartForce项目和...GameFramework替换源码
--------使用StarForce 为例---------
PS Important!!! GameFramework源码的版本要和StartForce项目的版本要匹配,不然会报错
-
下载StartForce项目和GameFramework源码项目
-
打开StarForce的Assets/GameFramework/Libraries,找到GameFramework.dll,将其删除
-
如果使用Unity 2017.3(不包含)以前的版本,直接把GameFramework 源码目录拷贝到Plugins目录中即可(如果不存在Plugins目录,请自己创建一个)
-
如果使用Unity 2017.3及以后的版本,把gameframework源码目录拷贝到项目的任意文件夹(建议放在原GameFramework.dll的文件夹)
-
在GameFramework源码同级目录新建GameFramework.asmdef文件(其实文件名字是啥都行)创建asmdef文件方法:Project面板=>右键=>Create=>Assembly Definition
-
设置GameFramework.asmdef文件的Allow ‘unsafe’ Code属性为true
-
给UnityGameFramework.Editor.asmdef添加依赖,设置给文件的Assembly Definition References添加 UnityGameFramework.Runtime.asmdef、GameFramework.asmdef引用
-
给UnityGameFramework.Runtime.asmdef添加GameFramework.asmdef引用,操作同上
-
Ok了,我们就可以愉快的学习源码了,2333!!
如果报错,请检查源码和项目使用的GameFramework.dll版本是否一致
-
-
GameFramework框架——导入GameFramework源码文件、移除GameFramework.dll
2020-11-04 01:08:21一、删除原GameFramework.dll及其相关信息 二、下载GameFramework工程 三、创建dll、设置dll依赖 目的:方便查看源码 测试工程版本:Unity2017.4.32f1 测试工程:StarForce工程(依赖UnityGameFramework的一个...目录
目的:方便查看源码
测试工程版本:Unity2017.4.32f1
测试工程:StarForce工程(依赖UnityGameFramework的一个UnityDemo)
一、删除原GameFramework.dll及其相关信息
在Project窗口搜索 "GameFramework.dll" ,找到并删除它。
在Project窗口搜索 "link", 它位于UnityGameFramework/Libraries,去掉<assembly fullname="GameFramework" preserve="all" />
若不去掉,打il2cpp包时会报错。
二、下载GameFramework工程
https://blog.csdn.net/qq_39574690/article/details/109213700
解压后,将其中的GameFramework文件夹整个拷贝到Assets目录下。
三、创建dll、设置dll依赖
在GameFramework文件夹下新建dll文件 (Unity2017的功能),起名为“GameFramework” (名字随意)
在Project窗口搜索 “UnityGameFramework.Editor” 和 “UnityGameFramework.Runtime” dll文件,追加GameFramework.dll文件依赖。
-
-
Game Framework学习笔记(1):初识Game Framework
2018-12-15 12:55:52Game Framework是一个基于 Unity 5.3+ 引擎的游戏框架 ,完全开源、功能强大且作者一直在更新功能。 它主要对游戏开发过程中常用模块进行了封装,很大程度地规范开发过程、加快开发速度并保证产品质量。 为...写在前面
什么是Game Framework
Game Framework是一个基于 Unity 5.3+ 引擎的游戏框架 ,完全开源、功能强大且作者一直在更新功能。
它主要对游戏开发过程中常用模块进行了封装,很大程度地规范开发过程、加快开发速度并保证产品质量。
为什么要使用一个优秀的框架开发游戏
大家可以看看这个UNITE -Unity项目架构设计与开发管理_腾讯视频 ,这是在UNITE 2015 BEIJING上,时任Unity大中华区技术总监刘钢的演讲。
原则上Unity本身就是一个大的架构,但是为了应付足够多的环境,Unity没有做过多的限制,既允许你仅仅只用单一的Empty Game Object,也也允许你自己客制复杂的 Manger of Mangers 来分类管理各个功能模块。
当你准备开发一个稍大一点的游戏时,就会发现游戏内各种资源、实例如果不通过一些合理的方式整理起来,就会变得杂乱无章,无形之中提高了开发难度,游戏越复杂,难度越大。这时候你就需要框架了。
为什么要学习使用Game Framework
对于游戏开发者来说,最适合自己的框架无非是自己在从小项目到大项目的过程中,自己整理出来的可复用代码。但是对于像我这样没什么经验的新手,想要学习这方面的知识,最快的方法无非是学习别人的框架了。Game Framework毫无疑问是一个非常优秀的框架,相对来说比较适合我们学习(要是作者能再多写一些文档就好了),而且也是开源的,作者E大(Ellan)游戏上线时间也不长,工作上也比较忙,我们也没法要求更多。
学习Game Framework有什么要求
只要你接触过Unity,知道C#最基础的语法就能开始学习了(完全不用,因为我自己就没达到这个水平T-T)。
当然因为我本身能力就非常有限,所以只能一步一步来。
开始接触Game Framework
首先我们得下载Game Framework的资源包。
进入Game Framework官网的下载界面,点击下载最新版本。
接着,新建一个Unity空项目,将资源包导入进去。
等待导入完成后,资源目录是这样的:
资源包本身为我们提供了一个示例场景,我们双击切换至Example文件夹下的Example场景。
点击Play按钮,激活场景。
可以看到场景中左上角显示了一个正在显示帧数的方框,那是Game Framework Debugger。还能看到console里面五条信息,三条Log,一条Warning和一条Error。
Game Framework version is 3.1.3. Unity Game Framework version is 3.1.3. UnityEngine.Debug:Log(Object) During this run, Game Framework will use editor resource files, which you should validate first. UnityEngine.Debug:Log(Object) Hello! This is an empty project based on Game Framework 3.1.3. UnityEngine.Debug:Log(Object) Hello! This is an empty project based on Game Framework 3.1.3. UnityEngine.Debug:LogWarning(Object) Hello! This is an empty project based on Game Framework 3.1.3. UnityEngine.Debug:LogError(Object)
第一条Log信息提示当前Game Framework和Unity Game Framework的版本,第二条显示我们目前使用的是Editor内的资源文件(而不是已经打包好的Asset Bundle,这个我会在以后的文章里面讲到)。
后面三条信息是作者分别用三种方式告诉我们,我们打开的是示例的空项目。
接着我们打开Example文件夹内的C#文件。
using GameFramework; using GameFramework.Procedure; using ProcedureOwner = GameFramework.Fsm.IFsm<GameFramework.Procedure.IProcedureManager>; namespace GameFrameworkExample { public class ProcedureExample : ProcedureBase { protected override void OnEnter(ProcedureOwner procedureOwner) { base.OnEnter(procedureOwner); string welcomeMessage = string.Format("Hello! This is an empty project based on Game Framework {0}.", GameFrameworkEntry.Version); Log.Info(welcomeMessage); Log.Warning(welcomeMessage); Log.Error(welcomeMessage); } } }
可以看到,在重写的OnEnter函数内,
Log.Info(welcomeMessage);
、Log.Warning(welcomeMessage);
、Log.Error(welcomeMessage);
这三句对应了三条消息。这些代码是通过什么方式调用的?下篇文章我们就来学习Game Framework的核心内容之一:流程(Procedure)。
-
GameFramework篇:使用源码替换GameFramework.dll
2018-12-18 10:32:42为了方便我们研究Demo和学习框架,我们要把GameFramework.dll替换成源码。在此之前,请确保GF和UGF皆为最新版本。 环境: 若当前使用的 Unity 2017.3(不含)以前的版本 将 Game Framework 源码目录拷贝至...为了方便我们研究Demo和学习框架,我们要把GameFramework.dll替换成源码。在此之前,请确保GF和UGF皆为最新版本。
环境:
若当前使用的 Unity 2017.3(不含)以前的版本
将 Game Framework 源码目录拷贝至 Plugins 目录(若不存在 Plugins 目录,请自行创建)中即可。
1.打开项目的UnityGameFramework文件夹,打开Libraries,把GameFramework相关资源全部删除
2.回到Unity中,将GameFramework源码拖入Assets文件夹下
3.等Unity刷新好,我们就可以惊喜的发现,有满屏的报错
我们发现大都是引用缺失的问题
我们打开Libraries下面的link.xml文件,发现有这样一句话
和我们没关系,所以不用管
我们再看报错
发现绝大多数报错原因都是找不到GF而造成的
顺着报错路径,我们发现了这个
这个是unity2017.3的新特性:程序集定义文件,参考:https://blog.csdn.net/zhenghongzhi6/article/details/78874580
于是我们知道了,要让UGF模块拿到GF需要这个文件
所以我们在GF里创建
在UGF的Runtime程序及定义文件添加GF引用,Apply一下
等Unity编译完成,我们发现报错已经大大减少
我们继续解决问题,发现有Editor模块缺少GF引用
于是给UGF的Editor程序集定义文件添加GF引用,Apply
OK,此时Console窗口什么都没有了,可以运行游戏了。
我们发现Debug窗口有很多很多输出,这是由于编辑器模式下是宏编译状态,所以GF源码里面的Debug全部会输出,如果不想看到这么多Debug,就顺着源码把Debug给注释掉。
接下来我们就可以体验追踪源码的乐趣了
比如
找到
追踪ShowEntity
一路追踪到这里,此时,如果使用的是程序集,即dll的话,追踪到此为止,由于我们使用的是源码,所以可以进一步查看
顺着IEntityManager接口,查找引用,找到EntityManager,找到里面的ShowEntity,箭头所指即为原始实现方式
至此,ShowEntity函数追踪完毕,大家可以以此为参考,学习GF这个强大的框架
-
Game Framework 3.1.4
2018-09-14 13:49:46http://gameframework.cn/download -
Unity 之 GameFramework
2020-11-15 22:48:28Unity 之 GameFramework 最近打算学习他人的框架,因此找到了 EllanJiang 的 GameFramework 解决方案。 仓库地址:EllanJiang - Overview 官方网站:Game Framework | 基于 Unity 引擎的游戏框架 经过一番整理,... -
GameFrameWork入门学习
2019-04-01 18:02:07主要是配合官方StarForce项目来学习的 1. 导入unity资源包下载地址: http://gameframework.cn/download ...存在一个初始场景,这个场景放置着GameFrameWork预制体,这个场景将一直不会被销毁(图中Builtin... -
Gameframework启动流程
2020-10-21 16:20:24Gameframework启动流程框架入口启动流程图 框架入口 Gameframework框架入口脚本 GameEntry.cs,代码如下: /// <summary> /// 游戏入口。 /// </summary> public partial class GameEntry : ... -
GameFramework_2020_12_31
2021-01-08 13:27:15unity插件,GameFramework_2020_12_31 最新版。 -
初见GameFramework
2019-07-26 20:46:02纪录在学习GameFramework过程中的疑问以及思考过程 初见代码 首先拿到源代码的时候,我们可以看下整个工程文件的目录结构。 整个框架系统都是由GameEntry启动,现在我们就要进入里面去寻宝。GameEntry由两个类组成 ... -
2.导入GameFramework
2020-09-04 14:30:35本节将导入GameFramework框架,并修改E大的案例 StarForce,保留对于我们有用的内容。 打开StarForce,导入GameFramework 从GameFramework官网下载框架(本节用2020.07.30版本延时),并在GitHub或者码云下载... -
gameframework深入了解
2018-12-22 10:23:11GameFramework底层代码 ##UI -
GameFramework日记
2018-12-03 11:41:25GameFramework加载资源都是异步加载,但是在编辑器运行时是同步加载。所以开发有关加载的功能时要做异步加载冲突处理。 举个栗子,主城界面有多个界面按钮,先点击任务按钮,此时任务面板由于异步还没加载出来,... -
GameFramework框架知识
2020-10-01 00:00:41目录 一、加载Excel配置表的txt文件(读写) 一、加载Excel配置表的txt文件(读写) ...using GameFramework.DataTable; using System; using System.Collections; using System.Collections.Generic; using Unity -
Gameframework架构思路
2020-03-15 20:19:00这里GF就是Gameframework框架,俗话说的好不想懂底层代码的程序猿,不是好程序猿(那里来的俗话,我也不知道...),Unity引擎如何搭建的,不懂倒是没有关系,毕竟代码没有开源(就算开源了,我也不会去读的,毕竟在下... -
Unity Entitas+GameFramework两套框架
2018-12-06 12:05:09Entitas是守望先锋使用的框架,资源里面有3个Demo。 GameFramework是国内一套较好的框架,里面有一个Demo -
Game Framework - Extras Bundle.unitypackage
2020-06-06 11:04:28Unity 的 Game Framework(游戏框架)可以极大的加快您的游戏开发速度以及快速实现各种功能集.我们以灵活且可拓展的方式提供了大多数游戏所需要的脚本,组件以及功能,使您可以更加专注于你的游戏本身,让你的游戏变得... -
GameFramework使用教程
2020-05-28 00:54:13今年开始接触这个框架,最开始技术选型的时候是...Game Framework 是一个基于 Unity 引擎的游戏框架,主要对游戏开发过程中常用模块进行了封装,很大程度地规范开发过程、加快开发速度并保证产品质量。 GameFrame... -
GameFramework学习之添加场景
2019-01-11 11:12:54首先Ctrl+N新建一个场景 然后在 这两个表中将新的场景信息加进去 注意名字一样别弄错 然后建立流程脚本 脚本建完之后这里要勾选...using GameFramework.DataTable; using GameFramework.Event; using GameFramewo... -
GameFramework-StarForce-开启更新下载模式
2019-03-11 14:05:07Builtin 取消 Editor Resource Mode Resource 设置为Updatable ...sing GameFramework; using GameFramework.Event; using GameFramework.Resource; using UnityEngine; using UnityGameFramework... -
Gameframework(开发环境搭建)
2020-01-25 16:57:22最近看到E大写的基于unity的GameFramework,是一个集成了很多模块的游戏开发框架,所以准备深度的学习这个框架,接下来就开始爆肝更新这个框架的所有模块的用法和实现的原理,在这个之前我们需要把开发环境搭建好。... -
GameFramework 学习笔记(一)
2019-09-24 10:31:43默认 你已经下载了 GameFramework UnityGameFramework.Runtime 使用源码替换GameFramework.dll 这个 框架采用的是 manager of managers 的 架构形式 (如果不懂这个的话 看 这个) 下面这段是官网的话 在... -
GameFramework框架 StarForceDemo导入GF源码
2020-01-18 00:12:12在开始学习GameFramework框架之时,最好的切入点就是官方Demo案例,为了便于查看源码,我们首先需要将dll替换为源码。 这里以写这篇文章时最新的GF版本2019.11.26(在本栏接下里的教程中,都会使用GameFramework缩略... -
GameFramework篇:打包需知
2018-12-16 09:57:28打开GameFramework场景,在编辑器模式下找到 表示当前资源加载模式是编辑器模式。(个人理解是和正常开发下的资源加载模式无异) 那么,如果我们开发完成,要打包项目呢? 肯定就不能继续使用编辑器模式加载... -
unity角色行动框架Unity - PlayMaker Actions for GameFramework 0.3
2018-01-15 09:48:02unity角色行动框架Unity - PlayMaker Actions for GameFramework 0.3;; -
Gameframework(Event初探篇)
2020-03-08 02:02:32Gameframework的事件模块理解还是比较难的,但是写的真的很棒(๑•̀ㅂ•́)و✧,详细品读一天了,现在准备和大家分享一下,事件模块到底如何写比较好。 1.正常的事件模块 要知道Gameframework的事件模块到底... -
GameFramework框架个人笔记汇总
2019-02-05 21:18:05欢迎大家加入我的Unity...本篇博客将记录所有的关于GameFramework的笔记和教程。 视频教程地址:https://www.bilibili.com/medialist/detail/ml759678145?type=1 StarForce全解读 框架基本理解以及源码下载 ... -
Gameframework(Localization初探篇)
2020-03-03 20:06:25前言 此模块是用于语言本地化的,可以让开发出的游戏更加的国际化,接下就来看一下Gameframework是如何实现语言切换的。 1. 本地化的原理 -
Phaser Game Framework
2020-12-08 18:39:50<div><p>So I begun using this recently (without using Transcrypt) and it's mind blowing what games you can create in just a few lines of code. Extremely beginner friendly. I think Transcrypt would...
-
什么是双因素身份验证?
-
FFmpeg4.3黄金系列课程:c++版
-
查看CPU最大支持内存容量
-
ESView_v2.0.exe
-
JDK环境变量配置.txt
-
关于Redis命令使用和说明
-
soul网关dubbo学习(1):测试用例运行
-
Soul 源码分析06 SOUL Admin & 网关 Zookeeper 数据同步
-
P2014 [CTSC1997]选课(树上分组背包)
-
简单的Gif动画制作软件.rar
-
Linux与数据库基础
-
韩国某官方教育网站模板
-
什么是 GraphQL?
-
韩国行业门户网站模板
-
电话拨号器.docx
-
1077: 字符串加密
-
WPF上位机数据采集与监控系统零基础实战
-
javaDay6
-
Soul网关源码学习07
-
转行做IT-第7章 数组