来源:未知 时间:2022-10-25 11:36 作者:小飞侠 阅读:次
[导读] 今天带来Fabric.js之动画探索animate方法使用教程,Fabric.js如何使用动画? 下面通过一个实例来讲解下。 如图所示: 定义一个小方块,然后让它上下移动,代码如下: (function(){varcanvas=th...
|
今天带来Fabric.js之动画探索animate方法使用教程,Fabric.js如何使用动画? 下面通过一个实例来讲解下。
如图所示: 定义一个小方块,然后让它上下移动,代码如下: (function() {
var canvas = this.__canvas = new fabric.StaticCanvas('c');
canvas.add(
new fabric.Rect({ top: 100, left: 100, width: 50, height: 50, fill: '#f55' }),
new fabric.Circle({ top: 140, left: 230, radius: 75, fill: 'green' }),
new fabric.Triangle({ top: 300, left: 210, width: 100, height: 100, fill: 'blue' })
);
fabric.Image.fromURL('../lib/pug.jpg', function(img) {
canvas.add(img.set({ left: 400, top: 350, angle: 30 }).scale(0.25));
});
function animate() {
canvas.item(0).animate('top', canvas.item(0).get('top') === 500 ? '100' : '500', {
duration: 1000,
onChange: canvas.renderAll.bind(canvas),
onComplete: animate
});
}
animate();
})();1.通过上面代码可以看到,这个代码是定义一个小方块元素,然后设置初始高度100,左侧距离100,宽度50,高度50,填充红色。 new fabric.Rect({ top: 100, left: 100, width: 50, height: 50, fill: '#f55' }),2.关键代码如下,拿到canvas容器下,第一个元素, item(0), 然后调用 animate 方法即可。 animate具体用法如下:
canvas.item(0).animate('top', canvas.item(0).get('top') === 500 ? '100' : '500', {
duration: 1000, // 时间单位(毫秒)
onChange: canvas.renderAll.bind(canvas), // 改变回调,主要告诉引擎渲染刷新
onComplete: animate // 动画结束回调自己进行循环动画
});针对onChange官方说法如下: 你可能想知道为什么我们总是在那里指定“onChange”回调。第三个参数不是可选的吗?是的,但是调用 请记住,在该画布表面下方有整个对象模型。对象有自己的属性和关系,canvas只负责将它们的存在投射到外界。 以上就是Fabric.js之动画探索animate全部内容,感谢大家支持自学php网。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com