【egret】 龙骨

创建龙骨

将龙骨导出后,会生成 龙骨json纹理集
代码:

- 创建龙骨工厂

                var dragonbonesData = RES.getRes( "xinghuo_ske_json" );
        var textureData1 = RES.getRes( "xinghuo_tex_0_json" );
        var texture1 = RES.getRes( "xinghuo_tex_0_png" );
        var textureData2 = RES.getRes( "xinghuo_tex_1_json" );
        var texture2 = RES.getRes( "xinghuo_tex_1_png" );
        var textureData3 = RES.getRes( "xinghuo_tex_2_json" );
        var texture3 = RES.getRes( "xinghuo_tex_2_png" );
        var dragonbonesFactory: dragonBones.EgretFactory = new dragonBones.EgretFactory();
        dragonbonesFactory.addDragonBonesData( dragonBones.DataParser.parseDragonBonesData( dragonbonesData ) );
        dragonbonesFactory.addTextureAtlas( new dragonBones.EgretTextureAtlas( texture1, textureData1 ) );
        dragonbonesFactory.addTextureAtlas( new dragonBones.EgretTextureAtlas( texture2, textureData2 ) );
        dragonbonesFactory.addTextureAtlas( new dragonBones.EgretTextureAtlas( texture3, textureData3 ) );

有时会出现纹理集过大的情况,需要通过导出多个纹理集来控制大小。

- 创造骨骼

this.armature = dragonbonesFactory.buildArmature( "name" );
this.armatureDisplay = this.armature.getDisplay();
private createAnim() {
    dragonBones.WorldClock.clock.add( this._armature );
    this._armature.animation.gotoAndPlay( "动画名称" );
    this.isStartPlayMainAnim = !this.isStartPlayMainAnim;

    this.ticker = egret.Ticker.getInstance();
    this.ticker.register( this.updata, this );
}
private updata( frameTime: number ) {
    dragonBones.WorldClock.clock.advanceTime( 0.01 );
}

- 动画控制器

this.armature.animation
  • 事件
/*开始播放动画*/
dragonBones.AnimationEvent.START
/*动画循环播放一次完成*/
dragonBones.AnimationEvent.LOOP_COMPLETE
/*动画播放到关键帧*/
dragonBones.AnimationEvent.ANIMATION_FRAME_EVENT

注意

在使用龙骨动画时,如果需要改变龙骨的大小,需要通过 **屏幕大小** 与 **龙骨设计大小** 计算出缩放比例,在代码里通过设置龙骨的 **scaleY** 与 **scaleX** 来控制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值