我试图在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();对象未更新。什么主意??
发布于 2014-03-25 20:19:04
我不知道你在做什么,但我有一个想法:
您不能使用graphics.moveTo移动一行--这是一条用于为后续路径指令定位绘图API的指令。如果您是line.graphics.lineTo(300,4000),它将从最后一个图形指令到该坐标(在形状的坐标系内)绘制一条线。
要移动形状,必须设置形状实例的x和y位置(在本例中为myShapes[2].line)
如果你发布更多的信息,我可以尝试和协助更多。
https://stackoverflow.com/questions/22615169
复制相似问题