解决 白鹭引擎 egret 龙骨动画 Deprecated 已废弃
官方文档中龙骨动画的调用方法和事件监听方法,在实际项目中都会提示已废弃,在网上也没找到一个讨论和解决这个问题的帖子,就自己去摸索了一下,下面贴出解决方法。
这是网上找到的比较常见的写法:
private createGameScene(): void {
var dragonbonesData = RES.getRes( "RobotGame_1_json" );
var textureData = RES.getRes( "texture_json" );
var texture = RES.getRes( "texture_png" );
var dragonbonesFactory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
dragonbonesFactory.addDragonBonesData(dragonBones.DataParser.parseDragonBonesData(dragonbonesData));
dragonbonesFactory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture,textureData));
var armature: dragonBones.Armature = dragonbonesFactory.buildArmature("robot");
var armatureDisplay = this.armature.getDisplay();
this.addChild(armatureDisplay);
armatureDisplay.x = 200;
armatureDisplay.y = 300;
armatureDisplay.scaleX = 0.5;
armatureDisplay.scaleY = 0.5;
dragonBones.WorldClock.clock.add( armature );
armature.animation.gotoAndPlay("Run");
egret.Ticker.getInstance().register(function(frameTime:number){
dragonBones.WorldClock.clock.advanceTime(0.01)
},this);
armature.addEventListener( dragonBones.AnimationEvent.START, this.startPlay,this);
armature.addEventListener( dragonBones.AnimationEvent.LOOP_COMPLETE, this.loop_com,this);
armature.addEventListener( dragonBones.FrameEvent.ANIMATION_FRAME_EVENT, this.frame_event,this);
}
private startPlay(evt:dragonBones.ArmatureEvent)
{
console.log( "armature 开始播放动画!");
}
private loop_com(evt:dragonBones.ArmatureEvent)
{
console.log( "armature 动画播放完一轮完成!");
}
private frame_event(evt:dragonBones.FrameEvent)
{
console.log( "armature 播放到了一个关键帧! 帧标签为:",evt.frameLabel);
}
private createGameScene(): void {var dragonbonesData = RES.getRes( "RobotGame_1_json" );var textureData = RES.getRes( "texture_json" );var texture = RES.getRes( "texture_png" );var dragonbonesFactory:dragonBones.EgretFactory = new dragonBones.EgretFactory();dragonbonesFactory.addDragonBonesData(dragonBones.DataParser.parseDragonBonesData(dragonbonesData));dragonbonesFactory.addTextureAtlas(new dragonBones.EgretTextureAtlas(texture,textureData)); var armature: dragonBones.Armature = dragonbonesFactory.buildArmature("robot"); var armatureDisplay = this.armature.getDisplay();this.addChild(armatureDisplay); armatureDisplay.x = 200; armatureDisplay.y = 300; armatureDisplay.scaleX = 0.5; armatureDisplay.scaleY = 0.5; dragonBones.WorldClock.clock.add( armature ); armature.animation.gotoAndPlay("Run"); egret.Ticker.getInstance().register(function(frameTime:number){dragonBones.WorldClock.clock.advanceTime(0.01)},this);armature.addEventListener( dragonBones.AnimationEvent.START, this.startPlay,this);armature.addEventListener( dragonBones.AnimationEvent.LOOP_COMPLETE, this.loop_com,this);armature.addEventListener( dragonBones.FrameEvent.ANIMATION_FRAME_EVENT, this.frame_event,this);
}private startPlay(evt:dragonBones.ArmatureEvent){console.log( "armature 开始播放动画!");}
private loop_com(evt:dragonBones.ArmatureEvent){console.log( "armature 动画播放完一轮完成!");}
private frame_event(evt:dragonBones.FrameEvent){console.log( "armature 播放到了一个关键帧! 帧标签为:",evt.frameLabel);}
红色部分为已废弃代码,下面绿色为对应修改后的代码:
private createGameScene(): void {
var dragonbonesData = RES.getRes( "RobotGame_1_json" );
var textureData = RES.getRes( "texture_json" );
var texture = RES.getRes( "texture_png" );
var dragonbonesFactory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
//dragonbonesFactory为new dragonBones.EgretFactory() 变量,后面需要调用
dragonbonesFactory.addDragonBonesData(dragonbonesFactory.parseDragonBonesData(dragonbonesData));
dragonbonesFactory.addTextureAtlas(dragonbonesFactory.parseTextureAtlasData(texture,textureData));
var armature: dragonBones.Armature = dragonbonesFactory.buildArmature("robot");
var armatureDisplay = this.armature.display;
this.addChild(armatureDisplay);
armatureDisplay.x = 200;
armatureDisplay.y = 300;
armatureDisplay.scaleX = 0.5;
armatureDisplay.scaleY = 0.5;
dragonbonesFactory.clock.add( armature );
armature.animation.gotoAndPlay("Run");
egret.Ticker.getInstance().register(function(frameTime:number){
dragonbonesFactory.clock.advanceTime(0.01)
},this);
armature.eventDispatcher.addDBEventListener( dragonBones.EventObject.START, this.startPlay,this);
armature.eventDispatcher.addDBEventListener( dragonBones.EventObject.LOOP_COMPLETE, this.loop_com,this);
armature.eventDispatcher.addDBEventListener( dragonBones.EventObject.FRAME_EVENT, this.frame_event,this);
}
private startPlay(evt:dragonBones.ArmatureEvent)
{
console.log( "armature 开始播放动画!");
}
private loop_com(evt:dragonBones.ArmatureEvent)
{
console.log( "armature 动画播放完一轮完成!");
}
private frame_event(evt:dragonBones.FrameEvent)
{
console.log( "armature 播放到了一个关键帧! 帧标签为:",evt.frameLabel);
}
private createGameScene(): void {var dragonbonesData = RES.getRes( "RobotGame_1_json" );var textureData = RES.getRes( "texture_json" );var texture = RES.getRes( "texture_png" );var dragonbonesFactory:dragonBones.EgretFactory = new dragonBones.EgretFactory();//dragonbonesFactory为new dragonBones.EgretFactory() 变量,后面需要调用dragonbonesFactory.addDragonBonesData(dragonbonesFactory.parseDragonBonesData(dragonbonesData));dragonbonesFactory.addTextureAtlas(dragonbonesFactory.parseTextureAtlasData(texture,textureData)); var armature: dragonBones.Armature = dragonbonesFactory.buildArmature("robot"); var armatureDisplay = this.armature.display;this.addChild(armatureDisplay); armatureDisplay.x = 200; armatureDisplay.y = 300; armatureDisplay.scaleX = 0.5; armatureDisplay.scaleY = 0.5; dragonbonesFactory.clock.add( armature ); armature.animation.gotoAndPlay("Run"); egret.Ticker.getInstance().register(function(frameTime:number){dragonbonesFactory.clock.advanceTime(0.01)},this);armature.eventDispatcher.addDBEventListener( dragonBones.EventObject.START, this.startPlay,this);armature.eventDispatcher.addDBEventListener( dragonBones.EventObject.LOOP_COMPLETE, this.loop_com,this);armature.eventDispatcher.addDBEventListener( dragonBones.EventObject.FRAME_EVENT, this.frame_event,this);
}private startPlay(evt:dragonBones.ArmatureEvent){console.log( "armature 开始播放动画!");}
private loop_com(evt:dragonBones.ArmatureEvent){console.log( "armature 动画播放完一轮完成!");}
private frame_event(evt:dragonBones.FrameEvent){console.log( "armature 播放到了一个关键帧! 帧标签为:",evt.frameLabel);}
解决 白鹭引擎 egret 龙骨动画 Deprecated 已废弃相关推荐
- Unity使用白鹭引擎的龙骨动画
最近有个项目,通过龙骨软件制作二维骨骼动画,之后放入Unity 下面放上龙骨的官网https://dragonbones.github.io/cn/index.html 首先,我们要导入龙骨 for ...
- 白鹭引擎egret wing编辑器提示报错 egret 命令不存在 乱码的情况解决方法
编辑器:egret 白鹭引擎 egret wing 描述:报错乱码或者命令不存在 问题描述:此处乱码报错实际上是egret 命令不存在 或 执行程序无法使用的中文情况,如果系统是非中文简体这里是显示英 ...
- 简单介绍了解白鹭引擎Egret
(一)关于白鹭引擎Egret Egret引擎是一个开源免费的游戏框架,用于构建二维游戏.演示程序和其他图形界面交互应用等.Egret使用TypeScript脚本语言开发.当游戏完成最终的打包后,可以将 ...
- egret引擎html5 3d,白鹭引擎(Egret Engine)
EgretEngine可以快速开发基于HTML5的网页游戏,您不仅可以体验到开源免费游戏引擎产品,EgretEngine同时还能通过Egret相关产品搭建快速优雅的工作流.. 相关软件软件大小版本说明 ...
- Egret(白鹭引擎)——Egret+fairyGui 实战项目入门
前言 一行白鹭上青天 需求 最近,我们老板刷刷的为了省事,给美术减压(背景有点长,不说了). 美术出 fairygui,我需要在网页上看到实时操作,并且看到效果! 需求分析 这怕是要了我的狗命啊,但是 ...
- 白鹭引擎拉伸高度_屏幕适配方案-Egret社区-教程文档-白鹭引擎-Egret Engine-免费开源HTML5游戏引擎 - Powered by Discuz!...
本帖最后由 云里雾里 于 2017-9-17 17:55 编辑 上周发了个贴 关于屏幕适配问题 有些小伙伴还是有这需求的.由于本人最近在研究u3d方面的东西,时间不多.今天上午抽个时间快速说下. 直接 ...
- html5白鹭引擎,egret
属性详细信息 alpha 属性 alpha : number = 1 语言版本: Egret 2.4 运行时版本: Web,Native 表示指定对象的 Alpha 透明度值.有效值为 0(完全透明) ...
- Egret龙骨动画管理类
关注微信公众号:每日玩机 获取ios.Android.tv.mac黑科技软件 利用龙骨工具,生成动画具体看官方文档,导出得到三个文件: 如果觉得资源文件过大,可以选择无损压缩:png无损压缩 导入项目 ...
- 白鹭引擎android打包,白鹭引擎能把动画打包成小程序吗
圆形进度条音乐播放,微信小程序js怎么写? 建立两个canvas标签,先绘制底层的浅灰色圆圈背景,再绘制上层的红色进度条. WXML代码 开始动态绘制 WXSS代码 特别注意:底层的canvas最好使 ...
最新文章
- 位居新品第一、单品第二,乐视1s吊打了谁的耳光?
- 高级定时器/TIM1/TIM8 定时时间不准的问题/TIM_TimeBaseStructure.TIM_RepetitionCounter
- iphone黑屏转圈_iphone7无限转圈黑屏怎么回事?
- 【教程】nrf51822实例代码解析及修改实例
- java.sql 拒绝连接_hive jdbc 拒绝连接问题
- visual studio installer可以卸载吗_ArcGIS 怎样彻底删除和卸载
- 输出该数二进制表示中1的个数。求取十进制数字元素1的个数 (3种方法)
- java基础代码实例_java学习之web基础(3):Servlet 和 Request的登录处理实例
- 【优化算法】多目标麻雀搜索优化算法(MSSA)【含Matlab源码 1366期】
- 计算机中用于表示储存,计算机中用来表示存储器容量的基本单位是
- 程序员水平难判断?程序员的6大等级,赶紧对号入座吧!
- 计算机上面mac怎么查看,怎么看电脑的mac地址
- MongoDB填充因子和更新优化
- 心理压力的测试软件,心理压力测量量表(WYB)
- (27)Verilog实现倍频【方法四】
- 学生公寓管理系统-javaweb
- 迈动互联中标中建集团
- pdf怎么转换成word文档呢?
- 差点猝死!杭州某互联网大厂员工连续熬夜加班后,引发心肌炎被送ICU病房,公司:她加班是自愿的!...
- php preg_split spit 丢弃解决方法是preg_aplit()