2

我已经使用 Kinetic.Shape 在 kineticjs 中绘制了自定义形状,然后我试图将鼠标事件附加到这个形状上。但是该事件永远不会触发:

var myShape = new Kinetic.Shape({
      drawFunc: function (canvas) {
              var context = canvas.getContext();
              context .beginPath();
              context .moveTo(47.1, 139.8);
              context .lineTo(50.5, 137.6);
              .
              .
              .
              context .closePath();
              context .fillStyle = color;
              context .fill();

          },
          fill: '#2369e7',
          stroke: 'black',
          strokeWidth: 2
      });

myShape.on('mousedown', function ()
      {
          //this never fires
      });

我尝试了使用 Circle 和 Rectangle 的事件,例如示例文档,它可以工作。但是对于 Kinetic.Shape 对象,事件永远不会触发。任何想法?

4

1 回答 1

1

通过在 drawFunc 的末尾添加它来修复它:

canvas.fillStroke(this);
于 2012-12-29T15:38:23.823 回答