如何在运行时获取图形点并更改其x& y的值?
例如:
var moveToX:Array = [50, 200];
var moveToY:Array = [0, 0];
var lineToX:Array = [100, 0, 50, 250, 150, 200];
var lineToY:Array = [100, 100, 0, 100, 100, 0];
var _points:Array = [];
var linesIndex:int = 0;
var myShape:Shape = new Shape();
myShape.graphics.lineStyle(3, 0x000000, .2);
myShape.graphics.beginFill(0x666666, .1);
for (var i:uint = 0; i< moveToX.length; i++)
{
var _point:Point = new Point(moveToX[i], moveToY[i]);
_points.push(_point);
}
for (var p:uint = 0; p< _points.length; p++)
{
myShape.graphics.moveTo(_points[p].x, _points[p].y);
myShape.graphics.lineTo(lineToX[linesIndex], lineToY[linesIndex]);
myShape.graphics.lineTo(lineToX[linesIndex+1], lineToY[linesIndex+1]);
myShape.graphics.lineTo(lineToX[linesIndex+2], lineToY[linesIndex+2]);
linesIndex +=3;
}
myShape.x = 0;
myShape.y = 0;
addChild(myShape);
现在我想更改点值并在运行时更新形状,但我要查找的是不要清除并重新绘制它...我试图将更改直接应用到相同的形状,因为它有一个很多点和线,因为更新将是每20毫秒..
你能帮忙吗? Thnaks。
答案 0 :(得分:0)
您不能简单地移动图形几何体并看到它在屏幕上移动。
没有魔法,当你想在屏幕上看到不同位置的图形时,你需要重绘它。当您通过更改MovieClip
或x
属性移动y
时,其整个图形仍会重新绘制。
如果要将所有点转换为相同的值,最好的方法是更改Shape
对象的位置属性。