Egret
honey199396
记录自己工作中遇到的点点滴滴沟壑。
展开
-
Egret -- 颜色缓动(使用Tween更改fillColor值闪烁)
如果我们想将一个Rect的颜色从ColorA变换为ColorB,而且是缓动变换的,使用如下方法会发生闪烁问题:/** 颜色变化 */ public colorTo(target: eui.Rect, targetColor: number, duration: number, delay: number, callback = null) { egret.Tween...原创 2018-05-17 18:04:08 · 4260 阅读 · 0 评论 -
Egret 使用Texture Merger制作美术字体
在游戏中,有时候美术为了显示更好的字体效果,美术会自己制作字体,让程序显示出来,如何实现显示美术给的美术字体效果呢。程序可以使用美术导出图片,自己使用代码组合起来使用(效率低下,程序繁琐)。或者是使用bitmapLabel显示。接下来介绍如何使用bitmap显示。Bitmap显示其实和正常的text显示一样,我们只需要设置Bitmap的font为美术给的字体即可,所以问题就回到了如何制作美术字体...原创 2019-02-12 16:15:30 · 1569 阅读 · 0 评论 -
Egret 使用反向遮罩做新手引导功能
新手引导最复杂的部分就是要将部分东西显示出来,其他部分遮挡,在cocos2d-x中使用多个圆,半圆,方块等组件拼出要显示的部分,egret中有一个很方便的功能能实现这个效果。1、新建egret工程,运行,显示如下:我们将上面显示白鹭时代那个遮罩显示出来,其他部分遮挡起来。2、在createGameScene() 函数下方添加如下代码, /** * 创建场景界面 * ...原创 2018-11-02 15:31:21 · 5806 阅读 · 0 评论 -
Egret 第三方库制作与使用方法
先贴一个官方教程地址:第三方库的使用方法不过官方的比较老了,有几步骤有些差异,导致大家要采坑。1、执行下面命令:cd到对应目录,执行egret create_lib md5执行完成之后可以看到新建了一个 demo 文件夹,文件夹内有两个文件 package.json tsconfig.json。在md5文件夹内创建src bin typings 目录2、将所有文件拖放到src文件...原创 2018-11-02 15:01:58 · 2875 阅读 · 0 评论 -
Egret 滚动控制容器(Scroller)和列表List
屏幕的尺寸总是有限的,当内容已经超出屏幕的范围时,需要特殊的处理方式。EUI 利用滚动条实现此功能。通过拉动滚动条,可以在有限的屏幕中浏览全部内容。在其他引擎中我们可以使用TableView或者ScrollView来实现这些效果,在Egret中怎么使用呢,有两个办法实现。 一、使用滚动控制容器(Scroller) 二、使用滚动控制容器(Scroller) + 列表组合的方式(List)还对...原创 2018-06-26 18:51:14 · 13507 阅读 · 0 评论 -
Egret 使用自定义皮肤
Egret中可以定义一个exml文件来布局UI样式,然后在创建的代码中使用它。 官方链接:皮肤这里我要说一些关于自定义皮肤容易犯错的地方,不注意代码就会出bug。一、在构造函数中使用皮肤里定义的组件是,容易找不到组件。class ExmlTestView extends eui.Component{ constructor() { super(); ...原创 2018-06-25 15:47:01 · 6096 阅读 · 1 评论 -
Egret -- EgretWing动画编辑器使用
Egret有两个可以制作动画的工具,DragonBones后面有空了在说吧,先看一下EgretWing的动画编辑器的使用,自己摸索半天,蒙的一笔,还是看教程的好。 可以去看官方教程:动画编辑器官方的示例直接使用,可能会报出bug,哈哈,问题在于加载exml文件的时候,还未加载完成就使用exml中的组件,因此,你延时执行初始化就可以了。也就是createChildren后面的内容延时执行。...原创 2018-06-08 17:03:32 · 10630 阅读 · 2 评论 -
Egret -- 更改Image颜色
Egret没有直接给image提供修改颜色属性,但是我们可以使用滤镜来修改image的颜色。下面是我使用的核心代码,粘贴出来,可以直接使用public setImageColor(image: eui.Image, color: number) { // 将16进制颜色分割成rgb值 let spliceColor = (color) => { let...原创 2018-06-06 20:54:25 · 6555 阅读 · 0 评论 -
TypeScript 遍历Array的方法:for, forEach, every
Typescript的官方文档 Iterators and Geneators一、for..of 方法 这是最常用的方法,遍历的值是数组中的value值let someArray = [1, "string", false];for (let entry of someArray) { console.log(entry); // 1, "string", false...原创 2018-06-13 11:03:15 · 43711 阅读 · 0 评论 -
Egret -- Egret 微信小游戏分享(wx.shareAppMessage)
如果不知道egret怎么调用微信小程序API,请看Egret微信小游戏API调用一、在platform.ts中新增两个函数share和init/** * 平台数据接口。 * 由于每款游戏通常需要发布到多个平台上,所以提取出一个统一的接口用于开发者获取平台数据信息 * 推荐开发者通过这种方式封装平台逻辑,以保证整体结构的稳定 * 由于不同平台的接口形式各有不同,白鹭推荐开发者将所有...原创 2018-06-12 12:41:09 · 11688 阅读 · 2 评论 -
Egret -- Egret 微信小游戏API调用
在Egret中是可以直接调用微信小游戏的API的,Egret中添加了平台代码,可以调用各个平台API。一、新建工程会发现在src文件夹中会包含一个Platform.ts的文件,如果没有请创建。/** * 平台数据接口。 * 由于每款游戏通常需要发布到多个平台上,所以提取出一个统一的接口用于开发者获取平台数据信息 * 推荐开发者通过这种方式封装平台逻辑,以保证整体结构的稳定 ...原创 2018-06-12 11:45:36 · 7780 阅读 · 2 评论 -
Egret -- 自己写的随机类
由于需要,自己写了一个随机类,拿去用吧。/** * 随机值生成器 */class Random { private a: number; private b: number; private m: number; private x: number; constructor(seed: number){ let p = 2...原创 2018-05-16 15:35:57 · 1677 阅读 · 2 评论 -
Egret -- 使用egret.Shape绘制的Rect在微信上闪烁
创建Egret默认工程中,有这么一段代码: let topMask = new egret.Shape(); topMask.graphics.beginFill(0x000000, 0.5); topMask.graphics.drawRect(0, 0, stageW, 172); topMask.graphics.endFill(); topMa...原创 2018-05-16 12:43:56 · 1891 阅读 · 0 评论 -
Egret -- 生命周期
游戏对象一定离不开生命周期,Egret也有一套生命周期管理器:egret.lifecycleegret.lifecycle.addLifecycleListener((context) => { // custom lifecycle plugin document.addEventListener("qbrowserVisibilityChange", function...原创 2018-05-18 14:25:46 · 4923 阅读 · 0 评论 -
Layabox -- 通过类型实例化对象 与 获取对象类型名
如果你在写Layabox对象池的时候不小心看到这篇文章,那么恭喜你,你写出来的对象池将会和Unity对象池一样方便灵活。这篇文章将会把Egret、Layabox,如何通过类型获取类型名,如何通过对象获取类型名告诉大家。一、Layabox1、通过类型获取类型名并实例化一个对象,下面是我写的一个在对象池中根据类型名取出一个对象或实例化一个对象的方法。重点是ClassZ.name /** ...原创 2019-03-04 12:11:16 · 3241 阅读 · 0 评论