canvas实现的骨骼动画


当前第2页 返回上一页

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

1

2

// 第一步 还是要先搭建canvas

<canvas id="canvas" width="800px" height="600px">抱歉,你的浏览器不支持canvas,建议你使用Chrome浏览器</canvas>

1

2

// 第二步 以图片形式或者js方式引入蒙皮资源

<img src="img/texture.png" id="xiaoxiaoImg" style="display:none;">

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

// 第三步 引入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动画的大门……

由于是刚接触,很多东西还不是很了解,有时间会在整理

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

使用html5 canvas封装一个echarts实现不了的饼图

如何利用canvas实现按住鼠标移动绘制出轨迹

以上就是canvas实现的骨骼动画的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

详解canvas实现圆弧、圆环进度条的实例方法

使用html5 canvas api中的clip()方法裁剪区域图像代码实例

canvas绘制饼图的方法介绍(代码)

如何使用html5 canvas绘制线条

html5中canvas的问题总结

h5 canvas api中drawimage(图像进行缩放或裁剪)的使用实例

html5 canvas标签的作用以及canvas标签的历史由来介绍

如何使用html5 canvas绘制文字

canvas实现动态粒子连线效果(附代码)

如何用canvas绘制矩形?canvas画矩形的两种方法介绍

更多相关阅读请进入《canvas》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...