Fabric.js - 动画时每400ms获取oCoords对象

时间:2015-11-25 13:37:16

标签: javascript jquery fabricjs

在Fabric.js中

,是否可以在动画时获取形状的坐标?我正在使用此处定义的对象来获取形状坐标:

http://fabricjs.com/docs/fabric.Object.html#oCoords

以下是一个例子:

http://fabricjs.com/static_canvas/

Visual Example

当我在我的代码中获得这些对象时,它只获得动画开始和结束时的点,我试图每隔400ms动画收集oCoords数据:

window.setInterval(function(){
   attrSniperBrX = Math.round(snipers[index].oCoords.br.x); 
   attrSniperBrY = Math.round(snipers[index].oCoords.br.y); 
   heatMapAdd(attrSniperBrX, attrSniperBrY);

   console.log(attrSniperBrX, attrSniperBrY);
 }, 400);

1 个答案:

答案 0 :(得分:1)

您必须手动调用setCoords()方法。 由于主线程上的性能原因,它不会在动画上自动调用。在setInterval上你应该没有问题。

window.setInterval(function(){
   /* guessing that sniper array contains fabricjs objects */
   snipers[index].setCoords();
   attrSniperBrX = Math.round(snipers[index].oCoords.br.x); 
   attrSniperBrY = Math.round(snipers[index].oCoords.br.y); 
   heatMapAdd(attrSniperBrX, attrSniperBrY);

   console.log(attrSniperBrX, attrSniperBrY);
 }, 400);