Createjs拖放 - 放弃目标不是注册

时间:2015-10-07 15:32:28

标签: javascript html5 drag-and-drop createjs

我试图拖放。当我在矩形上方释放圆圈时,似乎无法注册掉落。我该如何解决这个问题?无论我把它放在舞台上还是在矩形上,我的目标总是为空。

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);

        });

1 个答案:

答案 0 :(得分:2)

您正在调用dragger.getObjectUnderPoint(),这将返回dragger内的一个对象。我猜你希望它返回rect,而dragger不在stage.getObjectUnderPoint()。只需改为运行httpErrors

当然,请注意,如果您执行检查时拖动的对象位于该点之下,则会返回该对象。有很多方法可以解决这个问题,但它是一个单独的主题。

http://jsfiddle.net/gskinner/by3humee/