npm 包 dragonbones-runtime 使用教程

简介

DragonBones 是一款基于 Flash(Adobe Animate)的动画工具,可用于设计游戏中的角色动画、UI 动画、游戏特效等,其官网为 http://dragonbones.com/zh-CN/index.html。而 dragonbones-runtime 是 DragonBones 的运行时,可以将 Flash 设计好的动画导出为其他语言的代码,在游戏引擎中渲染出动画。

npm 包 dragonbones-runtime 是 dragonbones-runtime 的 JavaScript 版本,支持在前端项目中导入使用,并且可以和各种前端框架进行整合。

在本文中,我们将学习如何使用 npm 包 dragonbones-runtime,在前端项目中集成使用它来渲染 Flash 设计好的动画。

安装

你需要先安装 Node.js 和 npm。安装好后,执行以下命令来安装 dragonbones-runtime:

--- ------- -------------------

安装完成后,我们可以通过以下方式来导入 dragonbones-runtime:

------ - -- ----------- ---- ----------------------

加载动画资源

在正式渲染动画之前,我们需要先加载动画资源。

在 DragonBones 中,一个动画包含多个骨骼,一个骨骼由多个关键帧组成。一个动画有多个状态,每个状态有对应的动画数据。在 JavaScript 版本的 dragonbones-runtime 中,动画数据格式为 JSON 或二进制文件,可以通过 ajax 请求加载。

首先,我们需要构建图像资源和 JSON 版本的动画数据。如果你是 Flash 开发者,则可以使用 DragonBones Pro 创建动画,并导出资源文件和 JSON 版本的动画数据。如果你不是 Flash 开发者,则可以在 http://dragonbones.com/zh-CN/index.html 中下载官方提供的模板,制作属于自己的动画。

下面是一个加载动画资源的示例代码:

----- ------------------ - --- ------------------------ -- -- ------- --
----- --------------- - ----- ----------------------------------------------------------- -- ------------------- -- ------
----- ------------------ - ----- ---------------------------------------------------------- -- ------------ -- --------
----- ------------- -- ---- ------- --
    --------------------------------------------------------- -- --------------------- -- - -- -- ---- -- ------- ----
        ----- --- - ------------------------------
        ------- - --------------------------
        ------ --- --------------- -- ----------- - -----------
    ---
----------
    -------------
-- -- -
    ----- ---------------- - --------------------------------------------------- -- -------- ------------ --
    ------------------------------------------- ---------------------------- ---------- -- -- ---------------
    ------------------------------------------------------------ ----------------- ---------- -- -- ----------------
---

我们使用 DragonBones.CCFactory 类构建 facotry 实例,然后使用 fetch 方法来加载动画数据和图像资源数据。

接着,我们创建一张图像资源,并等待其加载完成后使用 createByImage 方法创建 textureAtlas 数据,最后使用 parseDragonBonesData 和 parseTextureAtlasData 方法解析动画数据。

渲染动画

加载完成动画资源后,我们已经可以开始渲染动画了。

在 JavaScript 版本的 dragonbones-runtime 中,我们可以使用 ArmatureDisplay 类来渲染 DragonBones 动画。

以下是一个渲染动画的示例代码:

----- --------------- - -------------------------------------------------- -- -- ------- -- --------------- --
--------------------------------------- -- -- ---- -----
------------------------------------------------------ -- -- - -- ---------- --------------- --
    --------------------------
---

我们使用 dragonbonesFactory.buildArmatureDisplay('Dragon') 方法创建 armatureDisplay 实例,其中 'Dragon' 是我们加载完成的动画名称。

接着,我们使用 armatureDisplay.animation.play('walk') 方法来播放 walk 状态的动画。

最后,我们使用 armatureDisplay.once(DragonBones.EventObject.COMPLETE, () => {...}) 监听动画播放完成的事件,并在事件触发后移除 armatureDisplay 实例。

总结

本文我们学习了如何在前端项目中使用 npm 包 dragonbones-runtime 来渲染 Flash 设计好的动画。我们学习了如何加载动画资源和渲染动画,并且学习了如何和游戏引擎进行整合。

掌握了这些技能,你就可以在你的前端项目中使用 DragonBones 来渲染动画了。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/63189


猜你喜欢

  • Front-end Developer Handbook 2019

    As a front-end developer, it is important to stay up-to-date with the latest technologies and best p...

    6 年前
  • npm 包 dprop 使用教程

    前言 在前端开发中,会经常用到组件化开发的方式。而组件化开发中,组件的属性是非常重要的一部分,dprop 就是一款专门用来进行组件属性校验的 npm 包。 在本文中,我们将会详细的介绍 dprop 的...

    6 年前
  • npm 包 touch-pinch 使用教程

    在前端开发中,经常需要用到手势控制。而 touch-pinch 包就是一个用于处理手势的 npm 包。本文将详细介绍该包的使用方法,包括其主要功能、示例代码以及使用注意事项等。

    6 年前
  • npm 包 quat-from-unit-vec3 使用教程

    介绍 quat-from-unit-vec3 是一个 npm 包,用于计算由三维向量定义的单位向量组成的四元数。这个四元数描述了一个三维旋转。 为什么要使用 quat-from-unit-vec3? ...

    6 年前
  • npm 包 opnr 使用教程

    前言 在前端开发过程中,我们经常需要在浏览器中打开某个网址或是本地文件。这时候,我们可以使用 npm 包 opnr 来实现这个需求。本文将详细介绍 opnr 的使用方法,并给出示例代码。

    6 年前
  • npm 包 primitive-torus 使用教程

    前言 在前端开发中,想要创建一个漂亮的 3D 图形通常需要大量的编码和计算。但是现在有一个 npm 包叫做 primitive-torus,使用它可以轻松地创建一个 3D 环形体。

    6 年前
  • npm包 is-little-endian 使用教程

    什么是is-little-endian is-little-endian是一个Node.js模块,它允许您检测当前系统的字节序方式是否为little-endian。

    6 年前
  • npm 包 parse-ply 使用教程

    前言 在前端开发中,我们经常需要读取和处理 3D 模型数据。PLY 是一种常用的三维模型文件格式,它是由斯坦福大学计算机图形学实验室开发的 ASCII 和二进制格式。

    6 年前
  • NPM包Stanford-Dragon使用教程

    简介 Stanford Dragon是一个经典模型,被广泛用于计算机图形学和计算机视觉领域。它最初由Stanford大学的3D扫描设备捕获,是一个具有高分辨率和复杂几何形状的模型。

    6 年前
  • npm 包 teapot 使用教程

    npm 是 node.js 的包管理工具,提供了大量的第三方包供我们使用。teapot 是一款可以模拟 HTTP 418 I'm a teapot 响应的 npm 包,非常有趣。

    6 年前
  • npm包mesh-combine使用教程

    在前端开发中经常需要将多个模型进行组合,而npm包 mesh-combine 正是专门用来完成网格组合的工具。本文将详细介绍如何使用这个工具,并且提供了示例代码以供读者参考。

    6 年前
  • npm 包 orbit-controls 使用教程

    前言 在前端开发中,我们常常需要使用一些能够帮助我们更加高效地实现操作的工具或框架。其中,npm 包就是其中之一。npm 是一个 Node Package Manager,它允许我们引用和安装其他人开...

    6 年前
  • npm 包 glo-demo-primitive 使用教程

    什么是 glo-demo-primitive glo-demo-primitive 是一款基于 CSS3 和 JavaScript 的库,可用于在网页上绘制基本的几何图形,如三角形、圆形、矩形等。

    6 年前
  • npm 包 primitive-icosphere 使用教程

    前言 在前端开发中,图形渲染是一个非常重要的话题。在这个领域中,我们常常需要使用到图形几何模型。而创建和渲染这些模型的过程,往往需要使用一些专业的工具和技术。但是,为了方便开发人员快速地创建和定制图形...

    6 年前
  • npm 包 camera-picking-ray 使用教程

    什么是 camera-picking-ray camera-picking-ray 是一个帮助前端开发者通过 3D 模型场景中的相机和射线来获取对应的交互对象的 npm 包。

    6 年前
  • npm 包 camera-project 使用教程

    在前端开发中,使用相机功能来拍照或录像是一个常见的需求。而 npm 包 camera-project 提供了一个可以在 Web 应用中使用相机的解决方案。本文将详细介绍如何在现有的前端项目中使用 ca...

    6 年前
  • npm 包 test-fuzzy-array 使用教程

    简介 test-fuzzy-array 是一个基于 JavaScript 的 npm 包,它能够让开发者更轻松地检测数组的相似性。本教程旨在介绍 test-fuzzy-array 的使用方法,包括安装...

    6 年前
  • NPM包Camera-unproject使用教程

    在前端开发中,我们经常会使用到三维图形处理,在实现一些交互效果的需求时,需要计算鼠标在三维场景中的位置,这就需要将屏幕上的点坐标通过反投影算法计算出在三维世界中的点坐标。

    6 年前
  • npm 包 ray-triangle-intersection 使用教程

    在前端开发中,经常需要处理三维空间的图形计算问题。其中,射线与三角形的交点计算是一种常见的需求,例如在三维场景中进行射线拾取等操作。 npm 包 ray-triangle-intersection 就...

    6 年前
  • npm 包 ray-sphere-intersection 使用教程

    简介 在计算机图形学中,常常需要进行几何体的测量计算,其中经常出现的一种是判断一条射线是否与一个球体相交。npm 包 ray-sphere-intersection 就是为了解决这个问题而生的一个小型...

    6 年前

相关推荐

    暂无文章