Easeljs:点击时添加到舞台的对象没有X值

时间:2017-07-07 12:59:08

标签: drag-and-drop easeljs

尝试按照http://www.createjs.com/tutorials/Mouse%20Interaction/上的示例进行操作,其中显示了如何拖放形状。我有些不对劲。我在点击舞台时添加一个圆圈,然后我尝试获取它的x位置...我的提示显示0,但圆圈出现在正确的位置。然后我尝试拖动,圆圈四处移动,但与鼠标指针保持一定距离。

var stage = new createjs.Stage("demoCanvas")    
stage.on("stagemousedown", function(evt) { 
    var corn = new createjs.Shape()
    corn.graphics.beginFill('white').drawCircle(evt.stageX, evt.stageY, 20).endFill()
    stage.addChild(corn)
    stage.update()
    alert(corn.x)

    corn.on("pressmove", function(dragEvent) { 
        dragEvent.target.x = dragEvent.stageX;
        dragEvent.target.y = dragEvent.stageY;
        stage.update()
    });
})

1 个答案:

答案 0 :(得分:1)

您误将形状x / y位置误用图形坐标。形状为[0,0],因为您没有更改其x或y位置。

相反,在[0,0]处绘制圆圈,并将其移动到鼠标位置。

var corn = new createjs.Shape()
    .set({x:evt.stageX, y:evt.stageY});
corn.graphics.beginFill('green').drawCircle(0,0,20).endFill();

这是一个快速的小提琴:http://jsfiddle.net/xnn803sx/