Layaair  DragonBones 龙骨动画的播放

本文要点:

  1. 龙骨动画的导入
  2. 龙骨动画的播放控制
  3. 龙骨动画的事件机制

官方文档入口

本节大概效果

龙骨动画的导入:

Layair 导入龙骨动画:

                

一般导入到 Bin 目录的 Src目录里面,在这里 我创建了一个hero的目录

龙骨动画的加载和播放控制

这是一个 循环播放动画的例子

//这是一个 循环播放动画的例子let templetStone: Laya.Templet = new Laya.Templet();
templetStone.on(Laya.Event.COMPLETE, this, () => {//创建第一个动画var skeleton: Laya.Skeleton;//从动画模板创建动画播放对象skeleton = templetStone.buildArmature(0);skeleton.pos(128, 665);//切换动画皮肤 使用标号为0的皮肤skeleton.showSkinByIndex(0);//播放skeleton.play(0, true);this.addChild(skeleton);
});
templetStone.loadAni("res/anima/stone/钱袋动画.sk");

这是一个 有两段 动画的例子, 主角的 空闲时动画 和 一个触发动画

//Hero动画
this.templetHero = new Laya.Templet();
this.templetHero.on(Laya.Event.COMPLETE, this, () => {//创建第一个动画// var skeleton: Laya.Skeleton;// //从动画模板创建动画播放对象this.skeletonHero = this.templetHero.buildArmature(0);this.skeletonHero.pos(350, 620);//切换动画皮肤 使用标号为0的皮肤this.skeletonHero.showSkinByIndex(0);//播放//this.skeletonHero.play(1, true);//动画事件this.skeletonHero.on(Laya.Event.LABEL, this, (event) => {let tEventData: Laya.EventData = event as Laya.EventData;if (tEventData.time > 100) {//console.log("动画事件 触发:", tEventData)Laya.SoundManager.playSound("res/sound/miming.mp3");//播放挖坑声音}});this.skeletonHero.on(Laya.Event.STOPPED, this, () => {this.isDigging = falsethis.ainPlayIdle()// console.log("Laya.Event.STOPPED this.isDigging :", this.isDigging)});this.ainPlayIdle()this.addChild(this.skeletonHero);});
this.templetHero.loadAni("res/anima/hero/矿工once.sk");

这个是 播放 第一段 空闲动画 和 播放 触发动画

// 空闲动画
private ainPlayIdle() {this.skeletonHero.play(1, true);
}
//触发动画
private ainPlayDig() {// if (!this.isDigging) {//     this.isDigging = truethis.skeletonHero.play(0, false);// }
}

龙骨动画的事件机制

在动画播放的时候 我们还可以 触发事件,比方说 我的触发动画里有一个 挖矿的动作。我需要在 锄头碰到石头的时候 播放一个音效。

在龙骨动画制作的时候添加一个事件

这样一来 在播放动画的时候 就可以触发一个事件

layaair  是通过 Laya.Event.LABEL 来接收事件的

//动画事件
this.skeletonHero.on(Laya.Event.LABEL, this, (event) => {let tEventData: Laya.EventData = event as Laya.EventData;if (tEventData.time > 100) {//console.log("动画事件 触发:", tEventData)Laya.SoundManager.playSound("res/sound/miming.mp3");//播放挖坑声音}
});

有里有另外一个知识点

循环播放

当skeleton.play(0,true)第二个参数为true时,每播放完一遍龙骨动画,会自动触发Event.COMPLET事件
skeleton.player.on(Event.COMPLETE,this,onComplete);

播放一次
当skeleton.play(0,false)第二个参数为false时,当前动画播放完成后,会自动触发Event.STOPED事件,而不是Event.COMPLETE事件
skeleton.on(Event.STOPPED, this, completeHandler);

Layaair DragonBones 龙骨动画的播放相关推荐

  1. Layaair DragonBones 龙骨动画的换皮肤

    Layaair  DragonBones 龙骨动画的换皮肤 大体效果如下 官网的例子 DragonBones 我的代码 /* * name; */ class SceneMain extends ui ...

  2. 龙骨动画直接播放最后一帧

    其实只是一个小技巧: spine.timeScale = 1000; 将动画节点的播放速度瞬间放大倍数,在一瞬间播完以达到直接播放最后一帧的效果.

  3. cocos 龙骨动画导出为spine 格式并播放

    原文链接: cocos 龙骨动画导出为spine 格式并播放 上一篇: sharp 图像操作 根据图像颜色分布判断是否是白页 下一篇: puppeteer 为osc 博客 添加链接 效果 感觉是个大坑 ...

  4. cocos 播放龙骨动画,ios可能存在动画问题

    修改ios项目代码. ## 引擎修改记录 ### 龙骨动画播放 Bug iOS 下修改 JSONDataParser.cpp 代码 ``` c++ // 修改 -----1------- // _fr ...

  5. Unity2D中代码创建一个龙骨动画(DragonBones)并换装

    一:如何兼容使用龙骨动画 请参考https://www.cnblogs.com/NightFrost/p/9585296.html 插件下载地址https://github.com/DragonBon ...

  6. EgretMVC龙骨动画插入及播放

    一.先初始化龙骨动画所需的文件资源 class FightLevelMain{public constructor() {var groupName: string = "preload&q ...

  7. [Unity][FairyGUI]场景中龙骨骨骼动画设置播放

    Spine和DragonBones都是FairyGUI可以显示的骨骼动画. DragonBones骨骼动画显示. 首先得在Unity项目中配置 DragonBones的SDK. 在FairyGUI编辑 ...

  8. gamemaker学习笔记:导入龙骨动画

    gamemaker的骨骼动画目前只是支持spine,但不支持龙骨的数据的格式.但目前可以通过一个转换的脚本来完成转换spine的格式实现这种方式. 下面是龙骨官方提供的一个转换spine的方式. ht ...

  9. Unity使用白鹭引擎的龙骨动画

    最近有个项目,通过龙骨软件制作二维骨骼动画,之后放入Unity 下面放上龙骨的官网https://dragonbones.github.io/cn/index.html 首先,我们要导入龙骨 for ...

最新文章

  1. 关于DataGrid等控件中的自动编号
  2. Java中方法重载和方法重写的区别
  3. 【死磕Java并发】—–深入分析synchronized的实现原理
  4. 手把手教你python实现量价形态选股知乎_【手把手教你】Python实现基于事件驱动的量化回测...
  5. .net打包自动安装数据库
  6. 用windows api 计算文件的md5值
  7. 【ArcGIS|空间分析|网络分析】2 创建多模式网络数据集
  8. matlab仿真零中频接收机技术,经典又实用的零中频接收机的技术解决方案
  9. 十大热门编程语言的介绍
  10. 2017年5月24日--2018年5月26日
  11. oracle dbca静默安装,dbca 静默安装
  12. R400安装Windows2003网卡驱动
  13. MSP430F5529 入门心得
  14. u-boot源码个别分析
  15. Vue CLI脚手架安装及使用
  16. 泰坦尼克号python数据分析统计服_Kaggle入门级赛题:泰坦尼克号生还者预测——数据分析篇...
  17. 每日10行代码82:网上购物活动满减凑单计算器
  18. 使用web设计器制作图表报表
  19. 负电阻_三极管单管震荡电路
  20. 基于CRNN+CTC的改进图像文本识别算法

热门文章

  1. L1-059 敲笨钟 加力扣日常刷题
  2. Hibernate之深入理解持久化对象
  3. 链家武汉租房数据分析
  4. 吸引力法则——屌丝变高帅富的神器
  5. 计算机网络原理习题(1)
  6. Android版edge插件,Win10手机版Edge浏览器支持插件?微软官方说法
  7. 时间管理中的15个法则和10大要素
  8. 金字塔理论在SAP学习中的切身体会
  9. 在读Phd如何准备公派访学?
  10. 平板能练计算机一级吗,进入大学,难道不选择一款平板电脑来“学习”吗?