egret

Egret Wing

岁酱吖の 提交于 2020-01-06 12:29:57
Egret Wing是一款开源免费的HTML5游戏开发工具,Egret Wing支持目前市面主流的开发语言和技术,作为一款可视化编辑器,它可以帮你提高开发效率。这款工具还支持 Node.js 开发扩展插件,可以让你更好的定制化自有内容。 下载地址: https://www.egret.com/products/wing.html 技术社区: http://developer.egret.com/cn/ 来源: https://www.cnblogs.com/myitnews/p/12147958.html

Egret之config.ts

為{幸葍}努か 提交于 2019-12-06 18:47:26
一 : 前言 关于项目中的config 其实与build / publish有关, 如下 ①, config.ts与web平台有关 ②, config.wxgame.ts与wxgame有关 现只讲解config.ts 中的publish的文件压缩方法 二 : 文件压缩(主要是egret类库) 在command == 'publish'模块中 const outputDir = `bin-release/web/${version}`; return { outputDir, commands: [ new CustomPlugin(), new CompilePlugin({ libraryType: "release", defines: { DEBUG: false, RELEASE: true } }), new ExmlPlugin('commonjs'), // 非 EUI 项目关闭此设置contents new UglifyPlugin([ { // 需要被压缩的文件 sources: [ "libs/modules/egret/egret.min.js", "libs/modules/egret/egret.web.min.js", "libs/modules/res/res.min.js", "libs/modules/tween/tween.min.js",

Egret之龙骨卡槽(slot)换皮

谁都会走 提交于 2019-12-06 18:45:23
龙骨的图片是绑定在卡槽上的.并且是一对一的关系.所以可以通过对骨架的卡槽上绑定的图片的更换来实现另一种换皮的效果. 换皮的 核心 代码: //针对slot设置其新内容 private setNewSlot( slotName:string, textureName:string ) { //方法1 var slot:dragonBones.Slot = this._armature.getSlot( slotName ); var b:egret.Bitmap = new egret.Bitmap(); b.texture = RES.getRes( textureName ); b.x = slot.display.x; b.y = slot.display.y; b.anchorOffsetX = b.width/2; b.anchorOffsetY = b.height/2; slot.setDisplay( b ); //方法2,仅限于slot中内容为Bitmap //var slot:dragonBones.Slot = this._armature.getSlot(slotName); //slot.display.texture = RES.getRes(textureName); } 我做了一个工具: module bg2tool{ /** * 龙骨动画工具--单例

使用P2物理引擎制作物理小球

落爺英雄遲暮 提交于 2019-12-06 18:45:13
今天分享的内容是:基于Egret使用P2物理引擎实现物理小球示例效果。 了解更多信息,您可以查看P2物理引擎GitHub地址或者是EgretP2物理系统文档。 * 第三方库的引入 * 创建一个P2物理项目 一、第三方库的引入 1.首先新建一个项目。 2.在GitHub上下载包括P2物理引擎库的完整第三方库,解压后按照路径找到physics模块。 3.将physics模块放到新建项目根目录的同级目录。 4.修改egretProperties.json,modules数组里增加 { "name":"physics", "path":"../physics" } 5.然后找到插件-Egret项目工具-编译引擎编译一下就成功引入P2库,如下图。 二、创建一个P2物理项目 使用P2物理引擎创建物理应用的过程大致分为5个步骤: 1.创建world世界 2.创建shape形状 3.创建body刚体 4.实时调用step()函数,更新物理模拟计算 5.基于形状、刚体,使用Egret渲染,显示物理模拟效果 **下面根据这5个步骤进行代码构建。 1.打开Main.ts,首先创建world世界** //创建Word世界 private world:p2.World; private CreateWorld(){ this.world = new p2.World(); //设置world为睡眠状态

Egret之JSZip解析图片

拟墨画扇 提交于 2019-12-06 18:44:50
将图片加压到zip中,再使用JSZip和Egret将图片显示出来. 核心代码 : /** * 将ArrayBuffer转化为Base64 * @param {ArrayBuffer} $buffer * @param {smallLib.TYPE_IMAGE_FORMAT2ZIP} $img_ty (默认 : TYPE_IMAGE_FORMAT2ZIP = TYPE_IMAGE_FORMAT2ZIP._PNG) * @returns {string} */ public static arrayBufferToBase64( $buffer : ArrayBuffer , $img_ty : TYPE_IMAGE_FORMAT2ZIP = TYPE_IMAGE_FORMAT2ZIP._PNG) : string { let bytes : Uint8Array = new Uint8Array( $buffer ); const addFormat : Function = ( $base64 : string ) : string =>{ const $base_foramt : string = `data:image/{0};base64,${$base64}`; switch($img_ty){ case TYPE_IMAGE_FORMAT2ZIP._PNG: return

微信小游戏转发、分享等功能实现

坚强是说给别人听的谎言 提交于 2019-12-06 18:44:45
本文将介绍开发微信小游戏四种常用功能的实现方法,这四种功能分别是: **获取头像功能 微信转发功能 微信分享功能 游戏圈** 在Egret Wing和微信开发者工具里的配置 为实现以上四个功能,我们需要分别在Egret Wing(图1,图2)和微信开发者工具(图3)里配置。 需要在Platform.ts里调用platform.js接口。 在Main.ts通过Platform.ts调用执行函数 。 在 platform.js写相对应的逻辑代码。 以上三点是实现四个微信小游戏功能的通用配置,具体操作如下: 获取头像 用户登录,可以获取用户自己的头像,参看微信平台。 Egret Wing,已经在Platform.ts写了默认功能,微信开发者工具已经写了默认逻辑,开发者只需要在Main添加代码 在 Egret Wing—>src—>Main.ts添加以下代码 private async runGame() { const userInfo = await platform.getUserInfo(); this.createGameScene(userInfo); } protected createGameScene(userInfo:any): void { // 用户头像 let img=new eui.Image(); img.source=userInfo.avatarUrl

layaair和egret的区别

倾然丶 夕夏残阳落幕 提交于 2019-12-04 09:27:39
egret缺点 1 编译速度非常慢 2 就是强类型转换非常的麻烦 3 只能用ts 所以只能用他们的IDE 不能用sublime layaair唯一不足的就是 insepct太垃圾 占用游戏界面 所以建议用egret 不过开发3D还是用layaair吧 来源: https://www.cnblogs.com/newmiracle/p/11853369.html

Egret -- 更改Image颜色

匿名 (未验证) 提交于 2019-12-03 00:22:01
Egret没有直接给image提供修改颜色属性,但是我们可以使用滤镜来修改image的颜色。 下面是我使用的核心代码,粘贴出来,可以直接使用 public setImageColor( image : eui.Image, color : number) { // 将16进制颜色分割成rgb值 let spliceColor = ( color ) => { let result = {r: - 1 , g: - 1 , b: - 1 }; result.b = color % 256 ; result.g = Math. floor (( color / 256 )) % 256 ; result.r = Math. floor (( color / 256 ) / 256 ); return result; } let result = spliceColor( color ); let colorMatrix = [ 1 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 1 , 0 ]; colorMatrix[ 0 ] = result.r; colorMatrix[ 6 ] = result.g; colorMatrix[ 12 ] = result.b; let

egret 发布ios记录

匿名 (未验证) 提交于 2019-12-03 00:15:02
根据官方文档 http://developer.egret.com/cn/github/egret-docs/Native/native/hybrid/hybrid/index.html 将现有的项目发布成Hybird。 发布成功之后,使用xcode打开xcworkspace工程。 然后点击运行按钮。成功调用启动了iphone模拟器,但是内容确实一片空白,即手机模拟器屏幕上显示的是一片空白。 到这里为止,我再次回到官方文档查看。 逐个排查工程模版。 1.默认工程是从本地启动游戏。 1.1 启动流程     1.1.1初始化EgretWebViewLib; [EgretWebViewLib initialize:@"/egretGame/preload/"]; // "/egretGame/preload/"是缓存目录,在应用的document目录下。    [EgretWebViewLib checkLoaded:zipFilePath Host:host] // zipFilePath是游戏资源zip的绝对路径 // host是游戏映射到哪个url下,如host为"https://egret.com/game/",对应的游戏url为"https://egret.com/game/index.html"       这里要怎么部署到本地服务器呢?这里的游戏资源是指什么

Egret资源跨域问题

匿名 (未验证) 提交于 2019-12-03 00:14:01
在服务器上配置了允许跨域还不够,还需要在引擎配置允许跨域,不然texture无法在webgl上下文中渲染 会报一个类似于 The cross-origin image at 的错误, 只需要在egret启动的时候,加入配置 egret . ImageLoader . crossOrigin = "anonymous" ; 然后就可以正常运行了 来源:博客园 作者: 三街第一帅 链接:https://www.cnblogs.com/boxrice/p/11670605.html