0

触发鼠标位置事件时遇到问题。当我拖动对象时,对象正在移动,但在我单击舞台时却没有。我应该怎么办?(当然,我正在添加一个舞台和图层之类的东西;)提前非常感谢!

function rotateAlltoMouse(layer3) {

      for(var n = 0; n < layer3.getChildren().length; n++) {
      var shape = layer3.getChildren()[n];
      var stage = shape.getStage();
      var mousePos = stage.getMousePosition();



      var xd =  shape.getPosition().x - mousePos.x;
      var yd =  shape.getPosition().y - mousePos.y ;
       var theta = Math.atan2(yd, xd);
      var degree = theta / (Math.PI / 180) - 45;

      shape.setRotationDeg(degree);

    }
  }
     $('#container').bind('mousemove touchstart', function() {
                               rotateAlltoMouse(layer3);
                             });                         
4

1 回答 1

0

只是猜测——如果您提供更多代码,可能比猜测更好;)

尝试使用 kineticJS 请求包含的 DOM 元素,这样您就知道自己得到了正确的容器。KineticJS 创建了一些供自己使用的支持元素,而您的#container 可能无法使用。

$(stage.getDOM()).on('mousemove',  function(){ rotateAlltoMouse(layer3); });    
于 2013-06-17T04:53:39.400 回答