javascript - Fabric.js 中的动画图像

标签 javascript html canvas html5-canvas fabricjs

热爱 Fabric 并试图掌握这一切。

我的总体目标是展示正在钻探的井。我有很多问题,但第一个问题是“如何为图像对象设置动画?”

我有:

var drillBit = new fabric.Image.fromURL('assets/images/drillBit.jpg',function(img){
    img.scale(0.5).set({left:400, top:0});
    canvas.add(img);
});

然后我打电话:

(function animate() {
    canvas.item(9).top+=1;
    canvas.renderAll();
    fabric.util.requestAnimFrame(animate);
})();

如果我将项目索引替换为另一个项目索引,以便它代表文本或矩形,它可以正常工作,但当我选择图像时没有任何效果。有人可以解释一下吗?

谢谢

最佳答案

Kangax 在 Google 群组中回答了这个问题。

解决办法是:

var drillBit = new fabric.Image.fromURL('assets/images/drillBit.jpg',function(img){
img.scale(0.5).set({left:400, top:0});
canvas.add(img);
//animate the drill
(function animate() {
    img.top+=1;
    canvas.renderAll();
    fabric.util.requestAnimFrame(animate);
})();
});  

关于javascript - Fabric.js 中的动画图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19316757/

相关文章:

html - 在 html5 单页应用程序上使用谷歌地图时如何管理内存

javascript - 在 Iphone Web 应用程序上使用 canvas drawImage() 函数

java - 可以将一半的文本以不同的颜色绘制到 Canvas 上吗?

javascript - 有没有办法在 Canvas 上绘制部分超出屏幕范围的内容?

javascript - Bing map v8 不显示

javascript - 从 Javascript 到 PHP 的正则表达式

c# - 如何更改按钮的 onclientclick 属性服务器端?

JavaScript:太多 if-else 语句?

html - 用于共享的公共(public)开源 HtmlHelper 存储库 "controls"

html - 需要多次点击才能触发的 anchor