热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:egret:使用DragonBones实现简单换装

本文由编程笔记#小编为大家整理,主要介绍了egret:使用DragonBones实现简单换装相关的知识,希望对你有一定的参考价值。这里采用官方龙骨例子,更换衣服为例:一、
本文由编程笔记#小编为大家整理,主要介绍了egret: 使用DragonBones实现简单换装相关的知识,希望对你有一定的参考价值。

这里采用官方龙骨例子,更换衣服为例:

一、dragonBones编辑器部分

技术分享图片

2.在资源中加入需要更换的图片

技术分享图片

3.将添加的图片拖入到clothes槽中,此处love为添加的图片

技术分享图片

4.选中可见

技术分享图片

5.导出资源

技术分享图片

二、代码部分

1.导入资源

1 let dragon_data = RES.getRes( "Dragon_test_ske_json" );
2 let texturedata = RES.getRes( "Dragon_test_tex_json" );
3 let texturepng = RES.getRes( "Dragon_test_tex_png" );
4
5 let factory:dragonBones.EgretFactory = new dragonBones.EgretFactory();
6 factory.addDragonBonesData( dragonBones.DataParser.parseDragonBonesData(dragon_data) );
7 factory.addTextureAtlasData( factory.parseTextureAtlasData(texturedata, texturepng) );

2.创建骨架

1 let armature:dragonBones.Armature = factory.buildArmature( "Dragon" );

3.对动画添加时钟支持

dragonBones.WorldClock.clock.add( armature );
egret.startTick(
this.dbrun, this);


1 private dbrun( timeStamp:number ):boolean
2 {
3 dragonBones.WorldClock.clock.advanceTime( 0.01 );
4 return true;
5 }

4.play动画:walk为动画名,0无限循环播放

armature.animation.play("walk",0);

5.添加显示容器实例到舞台

1 armature.display.x = 300;
2 armature.display.y = 500;
3 this.addChild(armature.display);

6.点击舞台换装操作

public replaceSlotDisplay( dragonBonesName:string,armatureName:string ,slotName:string ,displayName:string ,slot:dragonBones.Slot ,displayIndex:number ):void

用指定资源替换插槽的显示对象。

参数








 

dragonBonesName:string — 指定的龙骨数据名称。

armatureName:string — 指定的骨架名称。

slotName:string — 指定的插槽名称。

displayName:string — 指定的显示对象名称。

slot:dragonBones.Slot — 指定的插槽实例。

displayIndex:number — 要替换的显示对象的索引,如果未设置,则替换当前正在显示的显示对象。


1 this.stage.addEventListener(egret.TouchEvent.TOUCH_TAP,()=>{
2 console.log(‘111‘);
3 this.num ++;
4 if(this.num%2 == 0){
5 factory.replaceSlotDisplay(‘Dragon_test‘,‘Dragon‘,‘clothes‘,‘love‘,armature.getSlot(‘clothes‘));
6 }else{
7 factory.replaceSlotDisplay(‘Dragon_test‘,‘Dragon‘,‘clothes‘,‘parts/clothes1‘,armature.getSlot(‘clothes‘));
8 }
9 },this);

效果展示:

技术分享图片

 


推荐阅读
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • EPPlus绘制刻度线的方法及示例代码
    本文介绍了使用EPPlus绘制刻度线的方法,并提供了示例代码。通过ExcelPackage类和List对象,可以实现在Excel中绘制刻度线的功能。具体的方法和示例代码在文章中进行了详细的介绍和演示。 ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • 使用eclipse创建一个Java项目的步骤
    本文介绍了使用eclipse创建一个Java项目的步骤,包括启动eclipse、选择New Project命令、在对话框中输入项目名称等。同时还介绍了Java Settings对话框中的一些选项,以及如何修改Java程序的输出目录。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
author-avatar
缤纷之铃6868
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有