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; 
    } 
} 
+3

如果.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

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; 
    } 
}