【发布时间】:2011-11-16 22:35:15
【问题描述】:
我正在将一个程序从 AS2 翻译到 AS3。我有一个简单的动画在屏幕上移动的球之间绘制线条,但我不知道如何使用 clear() 删除旧的。这就是我得到的:
代码如下:
function moveBalls(e:Event):void
{
var nodeA:MovieClip;
var nodeB:MovieClip;
var line:Sprite = new Sprite();
for (var i:uint = 0; i < getLength(nodes); i++)
{
nodeA = nodes[i];
for (var j:uint = i + 1; j < getLength(nodes); j++)
{
nodeB = nodes[j];
var dx:Number = nodeB.x - nodeA.x;
var dy:Number = nodeB.y - nodeA.y;
var dist:Number = Math.sqrt(dx * dx + dy * dy);
if (dist < minDist)
{
line.graphics.lineStyle(1, 0x00ffff);
line.graphics.moveTo(nodeA.x+nodeA.width/2, nodeA.y+nodeA.height/2);
line.graphics.lineTo(nodeB.x+nodeB.width/2, nodeB.y+nodeB.height/2);
addChild(line);
var ax:Number = dx * k * .5;
var ay:Number = dy * k * .5;
nodeA.vx += ax;
nodeA.vy += ay;
nodeB.vx += ax;
nodeB.vy += ay;
}
}
}
}
【问题讨论】:
标签: flash actionscript-3 flash-builder