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

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

这是一个例子:

http://fabricjs.com/static_canvas/

javascript - Fabric.js-动画时每400毫秒获取一次oCoords对象-LMLPHP

当我在代码中获得这些对象点时,它仅在动画的开始和结束时获得点,我正在尝试每动画400毫秒收集一次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);

最佳答案

您必须手动调用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);

09-18 07:13