我有一个名为的函数dataLoaded
,它通过一个充满成分项的嵌套数组进行多个循环。目的是将数组中的每个项目插入到构成滚动列表一部分的 TextField 中。我的数组结构是这样的:
public var so:SharedObject = SharedObject.getLocal("mySharedObject");
public var meat_items_array:Array = new Array(so.data.meat1, so.data.meat2, so.data.meat3);
public var carb_items_array:Array = new Array(so.data.carbs1, so.data.carbs2, so.data.carbs3);
public var other_items_array:Array = new Array(so.data.other1, so.data.other2, so.data.other3);
public var mealtype_items_array:Array = new Array(so.data.mealtype1, so.data.mealtype2, so.data.mealtype3);
public var cuisine_items_array:Array = new Array(so.data.cuisine1, so.data.cuisine2, so.data.cuisine3);
public var veg_items_array:Array = new Array(so.data.veg1, so.data.veg2, so.data.veg3);
public var master_array:Array = new Array(meat_items_array, carb_items_array, other_items_array, mealtype_items_array, cuisine_items_array, veg_items_array);
这是我的dataLoaded
功能:
private function dataLoaded():void
{
for ( var masterCounter:int = 0; masterCounter < master_array.length; masterCounter++ )
{
for (var nestedCounter:int=0;nestedCounter<master_array[masterCounter].length;nestedCounter++)
{
var txt:String = master_array[masterCounter][nestedCounter];
if (txt==null) continue;
populateItem(txt,nestedCounter);
}
}
}
最初,下面滚动列表中项目的所有美学定位都是在dataLoaded
函数内完成的,但我现在决定将所有这些东西移动到一个名为的新函数populateItems
中,该函数for
在dataLoaded
.
这一切都很好,除了该行_item.y = nestedCount * _itemPosition;
不再正常工作(最初项目将按顺序放置在列表中,y
通过将常量()乘以_itemPosition
每次迭代的计数器的值来计算值)内for
循环)。现在,一次将 3 个项目输入到列表中,在循环的下一次迭代中,另外 3 个项目被放置在前 3 个项目的正上方,使它们变得模糊。
如何更改下面的函数,以便_itemPosition
通过函数的迭代更加动态dataLoaded
?
function populateItem(txt:String, nestedCount:Number):void {
_item = new Item();
_item.item_btn_over.alpha = 0;
_itemTextField = new TextField();
_itemTextField.x = _textFieldXPosition;
_itemTextField.y = _textFieldYPosition
_itemTextField.text = txt;
//adds textfield to displaylist//
_item.addChild(_itemTextField);
//vertical positioning//
_item.y = nestedCount * _itemPosition; // ????
//adds items to container displaylist//
_container.addChild(_item);
}