Javascript和KinectJS:鼠标在图像上的位置?

时间:2013-11-17 13:29:22

标签: javascript hover kineticjs mouseover

希望有人有时间和知识来启发我。 看到: http://www.html5canvastutorials.com/kineticjs/html5-canvas-kineticjs-image-tutorial/

enter image description here

有人知道在鼠标悬停在yoda图像上时,相对于图像位置获取鼠标光标位置的编程吗?

1 个答案:

答案 0 :(得分:0)

以下是基于教程中的代码解决问题的方法。 解决方法是使用on(“mousemove”,function(event){})方法,该方法仅在鼠标悬停在图像上时调用。

希望它有所帮助。

<!DOCTYPE HTML>
<html>
  <head>
    <style>
      body {
        margin: 0px;
        padding: 0px;
      }
    </style>
  </head>
  <body>
    <div id="container"></div>
    <script src="http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v5.0.1.min.js"></script>
    <script defer="defer">
      var stage = new Kinetic.Stage({
        container: 'container',
        width: 578,
        height: 200
      });
      var layer = new Kinetic.Layer();
      var imageObj = new Image();
      imageObj.onload = function() {
        var yoda = new Kinetic.Image({
          x: 200,
          y: 50,
          image: imageObj,
          width: 106,
          height: 118
        });

        yoda.on('mousemove', function(event) {
          var relativeX = event.x - yoda.getX();
          var relativeY = event.y - yoda.getY();
          console.log("x : " + relativeX);
          console.log("y : " + relativeY);
        });

        // add the shape to the layer
        layer.add(yoda);

        // add the layer to the stage
        stage.add(layer);
      };
      imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/yoda.jpg';

    </script>
  </body>
</html>