【发布时间】:2013-05-05 09:39:57
【问题描述】:
我在 AS#3 和数组方面需要一些帮助 基本上我在将项目推入有错误的二维数组时遇到了麻烦。 以下是我拥有并尝试使用的内容:
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 和其他代码,以将其最小化到源区域。
【问题讨论】:
-
我可以在这段代码中看到很多错误,你在控制台中得到了什么?
-
MixerArray[j][i].push(box);这行错误,说这不是函数
-
您的 Tracks 类实际上是否有一个名为
push()的函数?如果没有,那就是那里的问题。 MixerArray[j][i](用户小写,驼峰式顺便说一句)是Tracks类型,而不是Array。因此,除非 Tracks 扩展了数组或者您添加了一个名为 push 的自定义函数,否则没有 push 函数。 -
不,它没有 push();我明白这一点,但我不知道如何在数组中添加框: myarray.push.muMC;//works but myarray[0][1].push(box);;抛出错误
-
想象一下:myarray.push(tracks);myarray[tracks1].push(mymovieclip);跟踪(myarray[0][0]); // 轨道,电影剪辑。
标签: actionscript-3 flash actionscript flash-cs5