Createjs 拖放 - 放置目标未注册
Createjs Drag and drop - drop target isn't registering
我正在尝试拖放。当我在矩形上释放圆圈时,我似乎无法记录下落。我该如何解决这个问题?无论我将它放在舞台上或矩形上方的哪个位置,我的目标始终为 null。
var rectangle = new createjs.Container();
rect = new createjs.Shape();
rect.graphics.beginFill("blue").drawRect(50, 50, 250, 210);
rect.name = "rectangle";
rect.x = 300;
rect.y = 300;
rectangle.addChild(rect);
stage.addChild(rectangle);
circle = new createjs.Shape();
circle.name = "mycircle";
circle.graphics.beginFill("red").drawCircle(15, 15, 15);
circle.x = 15;
circle.y = 80;
var dragger = new createjs.Container();
dragger.addChild(circle);
dragger.name = "dragger1";
stage.addChild(dragger);
dragger.on("pressmove", function (evt) {
evt.currentTarget.x = evt.stageX;
evt.currentTarget.y = evt.stageY;
stage.update();
});
dragger.on("pressup", function (evt) {
var target = dragger.getObjectUnderPoint(evt.rawX, evt.rawY, 0);
console.log("this is my target");
console.log(target);
});
您正在调用 dragger.getObjectUnderPoint()
,这将 return dragger
中的一个对象,该对象位于该点下方。我猜你想要它 return rect
,它不在 dragger
中。只需 运行 stage.getObjectUnderPoint()
即可。
当然请注意,如果您在进行检查时拖动的对象在点下方,则会 returned 代替。有很多方法可以解决这个问题,但这是一个单独的主题。
我正在尝试拖放。当我在矩形上释放圆圈时,我似乎无法记录下落。我该如何解决这个问题?无论我将它放在舞台上或矩形上方的哪个位置,我的目标始终为 null。
var rectangle = new createjs.Container();
rect = new createjs.Shape();
rect.graphics.beginFill("blue").drawRect(50, 50, 250, 210);
rect.name = "rectangle";
rect.x = 300;
rect.y = 300;
rectangle.addChild(rect);
stage.addChild(rectangle);
circle = new createjs.Shape();
circle.name = "mycircle";
circle.graphics.beginFill("red").drawCircle(15, 15, 15);
circle.x = 15;
circle.y = 80;
var dragger = new createjs.Container();
dragger.addChild(circle);
dragger.name = "dragger1";
stage.addChild(dragger);
dragger.on("pressmove", function (evt) {
evt.currentTarget.x = evt.stageX;
evt.currentTarget.y = evt.stageY;
stage.update();
});
dragger.on("pressup", function (evt) {
var target = dragger.getObjectUnderPoint(evt.rawX, evt.rawY, 0);
console.log("this is my target");
console.log(target);
});
您正在调用 dragger.getObjectUnderPoint()
,这将 return dragger
中的一个对象,该对象位于该点下方。我猜你想要它 return rect
,它不在 dragger
中。只需 运行 stage.getObjectUnderPoint()
即可。
当然请注意,如果您在进行检查时拖动的对象在点下方,则会 returned 代替。有很多方法可以解决这个问题,但这是一个单独的主题。