EaselJS - 如何访问鼠标移动?

时间:2015-07-06 15:28:00

标签: javascript easeljs

在对象内部(基于this tutorial创建),我有以下代码。在这段代码中,行:

event.target.x = evt.stageX; 
event.target.y = evt.stageY;

错了。他们应该怎样访问鼠标移动?:

(function() {
    ....
    var p = createjs.extend(Card, createjs.Container);
    p.setup = function() {
         this.on("pressmove", this.handlePressMove);
         ....
         p.handlePressMove = function (event) {
             event.target.x = evt.stageX; //"Event" is wrong. So is "evt"
             event.target.y = evt.stageY;
             stage.setChildIndex(this, stage.getNumChildren()-1);
             stage.update();
         }
       }
}());

1 个答案:

答案 0 :(得分:2)

您的代码示例使用evt.stageX而不是event.stageX。所有MouseEvents都有stageXstageY,这是鼠标在触发事件时所处的位置。我认为您的代码来自this tutorial,它使用evt exlusively。

此外,MouseEvents在pressMove事件上有rawXrawY,它们为您提供canvas元素之外的x / y。 EaselJS MouseEvents上没有clientXclientY

以下是使用stageX/stageY的快速示例。 http://jsfiddle.net/lannymcnie/suva8vt3/

段:

shape.on("pressmove", function(event) {
    shape.x = event.stageX;
    shape.y = event.stageY;
});