Easeljs:当鼠标在形状的边界上时显示指针光标

时间:2014-01-15 12:43:53

标签: javascript drag-and-drop easeljs

我正在尝试实现类似于下面的代码。当用户位于矩形的边缘时,光标指向指针,否则光标是箭头。

     shape.graphics.beginStroke("#000").beginFill("#daa").drawRect(50, 150, 250, 250);
     shape.on("mousemove", function(evt) {
          if (isOnEdges(evt)) {
              evt.target.cursor = "pointer";
          } else {
              evt.target.cursor = "arrow";
          }
     });

上述代码的问题是:

  1. Shape没有mousemove处理程序
  2. 如何计算鼠标是否在形状的边缘(isOnEdges函数)

2 个答案:

答案 0 :(得分:10)

您可以简单地将光标设置在形状上,并确保在舞台上使用enableMouseOver:

var shape = new Shape();
shape.graphics.beginStroke("#000").beginFill("#daa").drawRect(50, 150, 250, 250);
shape.cursor = "pointer";

stage.enableMouseOver();

EaselJS将自动确定您何时超出形状界限。

答案 1 :(得分:0)

我有类似的问题:

container.on("pressmove", function (evt) {
    this.x = evt.stageX + this.offset.x;
    this.y = evt.stageY + this.offset.y;
    if (this.allowDrop(board)) {
        this.cursor = "pointer";
    }
    else {
        this.cursor = "no-drop";
    }
});

此代码不会在运行时更改我的光标..我使用自动收报机更新了舞台..所以这不是问题。