前言

  一行白鹭上青天

需求

  最近,我们老板刷刷的为了省事,给美术减压(背景有点长,不说了)。
  美术出 fairygui,我需要在网页上看到实时操作,并且看到效果!

需求分析

  这怕是要了我的狗命啊,但是要年底了,包住饭碗要紧。
  提炼关键字,fairygui网页展示,操作,Egret

  再浓缩一下:fairygui 为交互素材,白鹭为引擎,vue为展示页面

一、fairygui 是什么?

  官方地址:http://www.fairygui.com/guide/

   FairyGUI提供了一个强大的UI编辑器,使用习惯与Adobe系列软件保持一致,美术设计师和策划都可以轻松上手。

  airyGUI提供了多个游戏引擎SDK:UnityCocos2d-xCry EgineMonoGameHavok Vision/Project AnarchyEgretLayaAirCocosCreatorHaxePixiFlashStarling,未来还将支持UE4LibGDX等。借助FairyGUI-SDK,

  你可以轻松在UI中使用3D对象、粒子等元素,而且FairyGUI还解决了环形进度条、像素点击测试、图文混排、循环列表、虚拟列表、曲面UI、VR输入等UI开发中常见的痛点

  提供的SDK:EgretLayaAir

  言外之意,我要是想要用到fairyGui,我还要一个H5引擎

二、Egret是什么?

  官方地址:https://www.egret.com/

  白鹭为开发者提供移动端游戏开发一站式解决方案,并建立包含核心渲染引擎2D/3D、游戏开发工具、创意动画工具、资源工具、原生打包方案等全球首个HTML5完整工作流,帮助全球25万+活跃开发者高效开展工作。

  汗颜,牛逼的是用来做游戏开发的,我能够怎么办 我也很绝望啊~

  为什么选择Egret?

  就提供两个SDK,我有选择吗?

  emmm,第一感觉白鹭相对成熟一些,坑没有这么多吧(良好的自我安慰心理)

三、二者结合

  fairygui 是提供官方案例的

  我简单的总结一下,顺便说一说这里面的坑

  1.   将FairyGUI库以及依赖的rawinflate库拷贝到libs目录。(如果你在编辑器发布时没有勾选压缩描述文件,那么这个库是不需要的)

  

  敲重点:这句话我反复了好了几遍,刚开始根本摸不着头脑,哪里来的FairyGUI库????

  找来找去,思来想去,把官网都要翻遍了 

  眼睛尖的我发现,原来要去下载他的官方案例,才有这个FairyGUI库

  一如既往的贴心(白鹭SDK下载地址):http://www.fairygui.com/product/#Egret-SDK

  

  2. 复制一份rawinflate.min.js,并改名为rawinflate.js。(如果你在编辑器发布时没有勾选压缩描述文件,那么这个库是不需要的)。

   这句话是什么意思呢:编辑器是指fairygui ,贴心的我再次截图

  

  

  3. 在egretProperties.json文件中添加:

  

  1. {
  2. "name": "rawinflate",
  3. "path": "./libs/rawinflate"
  4. },
  5. {
  6. "name": "fairygui",
  7. "path": "./libs/fairygui"
  8. }

  贴心的我,再次截图,其实呢,就是在白鹭里面引用fairygui库 我用的是最新的白鹭 5.XX

  

  4.使用FairyGUI编辑器完成UI编辑。发布目录请选择Egret工程的resource/assets目录。发布后得到两个(或以上)文件。

  

  这个我还是再次截图吧!fairygui发布,一定要选择Egret哦!不然就是打出了很多多余的文件

  设置好了以后,发布项目,把这些文件复制到白鹭项目里面(这个 直接用你下载的demo 实例就好 如果你不想再她的基础之上,你可以直接在自己的项目中引用)

  

  5. 在default.res.json里,将上述的文件添加到定义中。扩展名为fui文件,类型请选择为bin。注意:Egret自动检测添加的资源,名称通常会自动加上下划线和后缀,例如basic.fui,名称自动设置为“basic_fui”,这里我们要手动将_fui去掉,名称只需要为“basic”

   这个就是静态资源的导入

  

  一定要记得 .fui 文件的引用

  6. 在代码里完成规定的初始化,例如设定默认字体,滚动条等等。

   

  

  你这样子以为就可以了,一定会报错的,相信我

  2020年2月补充

  为什么会报错呢?

  第一 要替换自己的资源 一定要注意包名对应

  第二 也要看一下官方是怎么样资源加载的 特别是静态资源加载 (注意资源名 包名 一一对应就好了)

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  华丽丽的分割线,昨晚还没有写完,继续写

  算了,不接着写了(我这该死的 任性啊)

  成功跑通自己案例的

  

Egret(白鹭引擎)——Egret+fairyGui 实战项目入门的更多相关文章

  1. day132:2RenMJ:MJ需求文档&MJ游戏流程&Egret白鹭引擎安装&TypeScript简要介绍

    目录 1.麻将产品需求文档 2.麻将游戏流程 3.Egret白鹭引擎 4.TypeScript简要了解 5.TypeScript快速入门 1.麻将产品需求文档 1.麻将术语 1.名词术语 牌⼦: 序数 ...

  2. 白鹭引擎EUI做H5活动 入门篇

    前言:本学习文档的目的是为了实现h5,或者简单的h5游戏,比如说,我们要实现一个可以左右,或者上下移动的场景的h5,在场景移动的过程中,会有相应的动画或者操作,我们通过 js 也可以实现,但是为了流畅 ...

  3. Egret(白鹭引擎)——“TypeError: Cannot read property 'asCom' of null”

    前言 相信我,这个错误新手都不陌生:TypeError: Cannot read property 'asCom' of null 还有,一定要看我上一篇,哦不(人家应该是报了这个错,才找到看到这篇文 ...

  4. [egret]白鹭引擎打包安卓包体积太大减小

    萌新第一次用egret打安卓包,发现裸包22M+,吃惊到吃手手. 上网搜查无果. 可能原因是egret优化过一波打包,变得更便利了,网上对新版本打包比较少讨论. 解决方法: egret-android ...

  5. TypeScript白鹭引擎Egret防止按钮事件冒泡穿透

    this.addEventListener(egret.TouchEvent.TOUCH_BEGIN, (event) => { if (event.target!=this) return;/ ...

  6. Egret白鹭H5小游戏开发入门(二)

    前言: 昨天的文章中简单的介绍了Egret白鹭引擎从安装到基本的使用配置等问题,今天着重介绍H5小游戏开发的起步阶段,如Wing面板的使用,素材的处理,类的说明,开始布局等等. 整体概况: 根据上一篇 ...

  7. Egret白鹭H5小游戏开发入门(一)

    前言: 好久没更新博客了,以前很多都不会,所以常常写博客总结,倒是现在有点点经验了就懒了.在过去的几个月里,在canvas游戏框架方面,撸过了CreateJS,玩得了Egret,又学过PIXI.js. ...

  8. Egret Engine(白鹭引擎)介绍及windows下安装

    Egret Engine简要介绍----- Egret Engine(白鹭引擎)[Egret Engine官网:http://www.egret-labs.org/]是一款使用TypeScript语言 ...

  9. FaceRank,最有趣的 TensorFlow 入门实战项目

    FaceRank,最有趣的 TensorFlow 入门实战项目 TensorFlow 从观望到入门! https://github.com/fendouai/FaceRank 最有趣? 机器学习是不是 ...

随机推荐

  1. windows-oracle 11g dataguard with dgbroker

    一: DG的配置 oracle dg 考验dba综合能力.首先明确3个知识点: SID, SERVICE_NAME,,DB_NAME, DB_UNIQUE_NAME SID: 实例名,用于标识一个数据 ...

  2. Huawei vlan 配置及vlan 间通讯

    Huawei Vlan配置及vlan 间通讯实例 组网需求:汇聚层交换机做为 PC 电脑的网关, PC3直连 SW2 属于 vlan 2,网关为 vlanif 2 接口地址192.168.2.1/24 ...

  3. Java多线程学习笔记之三内存屏障与Java内存模型

    基本内存屏障 处理器支持那种内存重排序,就会提供能够禁止相应内存重排序的的指令,这些指令就被成为基本内存屏障:StroeLoad屏障.StroeLoad屏障.LoadLoad屏障.LoadStore屏 ...

  4. C#中抽象类(abstract)和接口(interface)的实现

    抽象类 抽象方法是没有代码实现的方法,使用abstract关键字修饰: 抽象类是包含0到多个抽象方法的类,其不能实例化.含有抽象方法的类必须是抽象类,抽象类中也可以包含非抽象方法: 重写抽象类的方法用 ...

  5. 金三银四求职季,前端面试题小梳理(HTML、CSS、JS)

    好久没写学习记录,最近太多事,又到一年求职季,都说金三银四求职季,自己也做一下最近学习的一些前端面试题梳理,还是个小白,写的不对请指正,不胜感激. HTML篇 html语义化 用语义化的代码标签书写, ...

  6. swift的多态

    协议多态: 函数式编程多态:高阶函数的多态性: 泛型多态:泛型的基于约束编程: 共同点:相同的接口,不同的行为:

  7. Redis系列四:redis支持的数据类型

    一.字符串<String> 1. 字符串类型:实际上可以是字符串(包括XML JSON),还有数字(整形 浮点数),二进制(图片 音频 视频),最大不能超过512MB 2. 设值命令: s ...

  8. Android APP的字体设置

    Android系统自带有对字体的设置,这些设置是对字体的显示方式的设置,比如加粗,倾斜,下划线,字号等,但是对于字体本身,比如设置为楷体,隶书等貌似没有.Android系统只有一种默认的,如果需要修改 ...

  9. WorldWind源码剖析系列:外包围盒类BoundingBox和外包围球类BoundingSphere

    PluginSDK中的外包围盒.外包围球分别用类 BoundingBox和BoundingSphere描述,其类图如下所示. 外包围盒BoundingBox类的corners字段用来存储外包围盒的8个 ...

  10. JAVA框架 Spring 引入多个配置文件

    1.如果配置文件比较长,可以分多个配置文件.有两种方式: 1)在主配置文件加标签<import/> <import resource="jd/com/other/appli ...