acstionscript 3循环对象名称迭代对象名称
问题描述:
我想在一些Sprite对象上创建一个循环。这些对象不是一个数组,但是我将它们命名为这样的:fixPT1,fixPT2 ... 我试过,但它不会工作acstionscript 3循环对象名称迭代对象名称
function stopAll(e:MouseEvent):void {
var num:Number = 1;
if (dragPT1.x == destPt1.x && dragPT1.y == destPt1.y) {
stage.removeEventListener(MouseEvent.MOUSE_MOVE, pointMove);
} else {
dragPT1.x = fixPt1.x;
dragPT1.y = fixPt1.y;
}
}
答
totalNumberOfSpriteObjects = 3; // or however many there are
for(var i:int = 0; i < totalNumberOfSpriteObjects; i++)
{
var fixPoint = this[ 'fixPt' + (i+1) ];
var dragPoint = this[ 'dragPT' + (i+1) ];
var destPoint = this[ 'destPt' + (i+1) ];
if (dragPoint.x == destPt.x && dragPoint.y == destPt.y)
{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, pointMove);
}
else
{
dragPoint.x = fixPoint.x;
dragPoint.y = fixPoint.y;
}
}
如果.NAME属性设置哟应该能够使用数组访问表示法:this [“fixPt”+ num]'或使用[getChildByName()](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObjectContainer.html #getChildByName()) – 2014-10-03 11:19:08