要通路數組的每個元素
解決辦法
利用for 循環來周遊數組,使用下标傳回元素。
讨論
for循環的初始變量從0開始,結束為array.length-1,因為是從下标0開始的:
var letters:Array = [ "a", "b", "c"];
for ( var i: int = 0; i < letters.length; i++) {
trace( "Element " + i + ": " + letters[i]);
}
也可以降序周遊數組,循環變量從array.length-1開始到0:
var letters:Array = [ "a", "b", "c"];
for ( var i: int = letters.length - 1; i >= 0; i--){
trace( "Element " + i + ": " + letters[i]);
}
有很多情況需要用循環周遊所有元素,比如,獲得了包含sprite的數組, 然後把每個sprite的x坐标+1:
for ( var i: int = 0; i < sprites.length; i++){
sprites[i].x++;
}
可以把數組長度存在變量中,免得每次循環都要重新計算:
var length: int = sprites.length;
for ( var i: int = 0; i < length; i++){
sprites[i].x++;
}
這樣做可以提高Flash 性能,因為不用每次循環都去計算長度了,但是有個前提,就是沒有進行插入删除操作來改變長度值,否則就要每次計算長度才行。
類别:flash/flex/fcs/AIR 作者: 轉載 日期:2010-02-24 【 評論:0 閱讀: <script src="/updateclick.ashx?id=1504" type="text/javascript"></script> 46】 繁體中文