我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用canvas实现骨骼动画

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用canvas实现骨骼动画

这篇文章主要介绍了如何使用canvas实现骨骼动画,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

在开始之前,先来了解一下AlloyStick

官方介绍说AlloyStick 是采用HTML5技术开发的一个骨骼动画引擎,可以用于HTML5动画开发、HTML5游戏开发;AlloyStick 主要由骨骼动画引擎和骨骼动画编辑器两部分组成,骨骼动画编辑器提供强大的骨骼动画编辑功能,通过设置动画关键帧,依靠强大的自动补间和骨骼关系,就可以制作出逼真、生动的Canvas骨骼动画,可以畅快的运行在PC、手机、平板等设备里。嗯,说的很轻松又很有吸引力

所谓的骨骼动画从字面意思来说就是通过骨骼去绘制的动画,那么这里的骨骼是长什么样呢?

如何使用canvas实现骨骼动画

没错,就是长这样的,也算是符合预想的吧,毕竟人家有和很强大的自动补间功能,可以联想一下每一部分都用很光滑的方式连接起来,有点像PS的羽化吧

既然是很强大的一个功能,肯定有人家自己独特的优势

  1. 动画更加的逼真,这是肯定的啊

  2. 图片占用的空间很小,这也能看出来,这个人只有头,手和腿三部分组成

  3. 过渡动画自动补间,让动作更加灵活

  4. 骨骼可控

  5. 骨骼事件帧,动画直行待某个动作或某个帧,触发自定义事件行为

  6. 动作数据继承,多角色可用一套动画数据

  7. 可结合屋里引擎

  8. 结合精灵图动画制作混合动画

下面来开始小demo

一个骨骼动画主要由3部分组成:骨骼数据、蒙皮数据、动画数据,有了这三部分数据,就可以由AlloyStick渲染出生动的骨骼动画了。这三部分数据当然不需要手动生成,只需要在编辑器中操作,即可自动生成。生成数据后,就可以向下面这样调用执行骨骼动画了,第一步引入alloysk.js,再加入资源resource.js。其中注意的是蒙皮png是以img标签引入,当然也可js的方式加载。resource.js里面包括蒙皮数据,骨骼关系数据,和所有动作数据包括动画名字和参数。第二步,根据资源文件new出舞台对象Stage和角色对象Armature,Stage对象管理Armature对象。playTo方法时核心方法,让角色播放不同动作动画,你可以增加事件去切换不同动作。最后启动舞台stage.start().

// 第一步 还是要先搭建canvas<canvas id="canvas" width="800px" height="600px">抱歉,你的浏览器不支持canvas,建议你使用Chrome浏览器</canvas>
// 第二步 以图片形式或者js方式引入蒙皮资源<img class="lazy" data-src="img/texture.png" id="xiaoxiaoImg" style="display:none;">
// 第三步 引入alloysk.js和resource.js// 第四步 准备工作var canvas = document.getElementById('canvas')var textureImg = document.getElementById('xiaoxiaoImg')var scene = new alloyge.Scene(canvas.getContext('2d'))var player = new alloysk.Armature('xiaoxiao',textureImg)// 第五步 制作动画// 动作快慢 参数:动作状态,速度,初始速度,是否一直执行,这里还可以设置其他动作,比如翻滚 roll// 更新了几个动作状态:run 奔跑  roll 翻滚  simpleHit 右手扔东西   secondHit  右手打拳 //  jump_kick  侧踢 comeon 挑衅   relax 放松  soap 捡肥皂player.playTo('run',50,15,true);// 动画位置player.setPos(300,300); player.setEaseType(true);scene.addObj(player); // 启动FPS监听器 (辅助功能 非必须)alloyge.monitorFPS(scene);// 开始场景里的动画,并且可以传入callback循环调用// 最后一步 执行动画scene.start(); // 效果就是下面这样奔跑的少年啦,原谅我还没开通做gif动画的大门&hellip;&hellip;

如何使用canvas实现骨骼动画

感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用canvas实现骨骼动画”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何使用canvas实现骨骼动画

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用canvas实现骨骼动画

这篇文章主要介绍了如何使用canvas实现骨骼动画,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在开始之前,先来了解一下AlloyStick官方介绍说AlloyStick 是
2023-06-09

uniapp 如何实现canvas动画

随着移动端应用的不断发展,动画已经成为了现代应用的必备元素。而canvas作为HTML5中提供的一种绘图技术,被广泛应用于实现各种复杂的动画效果。而今,随着uniapp的流行,我们也可以借助uniapp的强大能力,轻松实现canvas动画效果。本文将为大家详细介绍uniapp如何实现canvas动画。一、认识canvascanvas是HTML5新增的特性,它是一种绘图技术,可以
2023-05-22

使用canvas怎么实现2d画布

使用canvas怎么实现2d画布?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一. Canvas是啥< canvas > 是一个可以使用脚本(通常是js)来绘图的HTML元素<
2023-06-09

使用canvas怎么实现一个粒子动画背景

使用canvas怎么实现一个粒子动画背景?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。创建canvas首先需要在需要展示粒子背景的父元素中创建一个canvas标签, 指定wid
2023-06-09

使用Canvas怎么实现鼠标跟随动画背景

本篇文章给大家分享的是有关使用Canvas怎么实现鼠标跟随动画背景,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如何制作动画常用的绘图动画的方式有以下几种:CSS3SVGCan
2023-06-09

怎么使用JavaScript+Canvas实现带跳动效果的粒子动画

这篇“怎么使用JavaScript+Canvas实现带跳动效果的粒子动画”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使
2023-07-05

使用canvas怎么实现一个扭蛋机动画效果

使用canvas怎么实现一个扭蛋机动画效果?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。布局扭蛋机的布局比较简单,只需要在基础背景上添加一些元素就可以,最主要的是canvas标
2023-06-09

使用canvas怎么实现一个圆形进度条动画

这期内容当中小编将会给大家带来有关使用canvas怎么实现一个圆形进度条动画,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. canvas的HTML部分很简单就一个canvas标签canvas画布的宽高
2023-06-09

canvas如何实现有递增动画的环形进度条

这篇文章将为大家详细讲解有关canvas如何实现有递增动画的环形进度条,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果如下:高清大图! 码农多年,老眼昏花,动图看不清?!那就看静态截图!!!不同分值效果
2023-06-09

JavaScript利用Canvas实现粒子动画倒计时

粒子动画就是页面上通过发射许多微小粒子来表示不规则模糊物体。本文将利用canvas实现酷炫的粒子动画倒计时,感兴趣的小伙伴可以尝试一下
2022-12-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录