Flash推送项目在数组内

时间:2013-05-10 16:27:03

标签: actionscript-3 flash actionscript flash-cs5

我在AS#3和数组中需要一些帮助 基本上我无法将项目推入有错误的2D数组。 以下是我所拥有并尝试使用的内容:

    var j = 0
    var i = 0
    var mixerArray:Array = new array();
    function Mixer()
    {
    optionLenght = gridOption.sequence_txt.text;// == 8
    track_list = gridOption.track_text.text;// == 4


    for (j = 0; j <track_list; j++)
    {
    make_tracks();
     for (i = 0; i <optionLenght; i++)
    {
       item_inside_track();
    }
    }

   function make_tracks(){
   tracks = new Tracks();//a large box
   MixerArray[j].push(tracks);
   }
   /* Make little boxes inside big box
   ..................................................
   */
   function item_inside_track(){
   box= new Box();//littlebox
   MixerArray[j][i].push(box); // iwant to push this box into track[j]
    }

基本上我试图创建一个存储值的数组,例如

   MixerArray()
   [0]TRACK1  =  [0]//littlebox ,[1]//littlebox, [2]//littlebox [3]//littlebox etc to 8
   [1]TRACK2  =  [0]//littlebox ,[1]//littlebox, [2]//littlebox [3]//littlebox etc to 8
   [2]TRACK3  = [0]//littlebox ,[1]//littlebox, [2]//littlebox [3]//littlebox etc to 8
   [3]TRACK4  = [0]//littlebox ,[1]//littlebox, [2]//littlebox [3]//littlebox etc to 8

这必须是动态的,因为它会不断变化..我已经削减了addchilds和其他代码,以最小化它到源区域。

1 个答案:

答案 0 :(得分:0)

所以你基本上是在创建一个数组数组。 这里的问题是你试图将项目推送到第二个数组的元素。

MixerArray[j][i].push(box); // iwant to push this box into track[j]

如果你想进入J阵列,你只需要这样做:

MixerArray[j].push(box);

但是,您需要首先创建MixerArray中包含的不同数组。只需在初始化函数或第一个函数开始时将新数组推入MixerArray。您的代码的另一个问题是您使用了:

var mixerArray:Array = new array();
在您使用的其余代码中:
MixerArray

进行更改并告诉我它是否有效!