使用Create.js移动对象

时间:2014-03-24 16:30:54

标签: javascript createjs

我试图在erase.js中移动一行我读了一些关于这个问题的帖子,但没有什么对我有用。问题是,我可以操纵一些属性,如标签位置,但不能操作线位置。 刚才创建我的专线是:

var result = {};
                //Generation of the line
                result.line = new createjs.Shape();
                result.line.graphics.setStrokeStyle(3);
                result.line.graphics.beginStroke("#000");
                result.line.graphics.moveTo(o[0].__dragger.x + 24 , o[0].__dragger.y);
                result.line.graphics.lineTo(o[1].__dragger.x - 24, o[1].__dragger.y);
                result.line.graphics.endStroke();
                //result.line.shadow = new createjs.Shadow("#000000", 5, 5, 10);



                //Add the neighbours
                result.neighbours = o;

                //Add the label
                result.label = new createjs.Text("line", "", "#000");
                result.label.textAlign = "center";
                result.label.y = 80;
                result.label.x = 200;

                //Add the dragger and extra properties
                result.type = "connector";
                result.__dragger = new createjs.Container();
                if(id == "")
                    result.__dragger.id = "L" + guid();

                result.__dragger.addChild(result.line, result.label);
                stage.addChild(result.__dragger, result.line);

                result.__dragger.on("click",function(evt) {
                    Shape.create("square", [], "Assignament");
                });

                stage.addChild(result.__dragger);
                stage.update();
myShapes.push(result);

如果我执行:

myShapes[2].label.y = 200;
myShapes[2].label.x = 300;
stage.addChild(myShapes[2].__dragger);
stage.update();

位置已更新,但如果我尝试使用:

myShapes[2].line.graphics.moveTo(300,4000)
stage.addChild(myShapes[2].__dragger);
stage.update();

对象未更新。有些想法??

1 个答案:

答案 0 :(得分:1)

我不确定我明白你在做什么,但这是一个想法:

您无法使用graphics.moveTo移动一行 - 这是为后续路径指令定位绘图API的指令。如果你去line.graphics.lineTo(300,4000),它会从最后一个图形指令到该坐标(在Shape的坐标系内)画一条线。

要移动Shape,您必须设置形状实例的x和y位置(在本例中为myShapes[2].line

如果您发布更多信息,我可以尝试更多帮助。