0

是否可以像这样在 as3 中创建数组:

countdowns[bodyID][powerupName] = { time: powerup.getTime(), onRemove: onRemove }; 

我已经尝试了几个小时但没有运气..谢谢

4

3 回答 3

2

当然可以,但是您必须分别声明每个对象,并且必须调用索引号而不是变量名

假设我有一个颜色数组,其中包含该颜色类型的子数组,其中填充了描述 RGB 的对象

var colors:Array = [];
var red:Array = [];
var darkRed:Object = { r : 256, g : 100, b : 100 }
red.push( darkRed ); //darkRed is now part of red
colors.push( red ); //red is now part of colors

要访问darkRed,您可以这样做:

colors[0][0]; //that is darkRed
于 2013-03-29T16:26:12.840 回答
0

虽然这当然可以做到,但您可能会使事情过于复杂。也许一维 Array ob 量身定制的 Objects 会更适合。

var ob:Object=new Object();
ob.bodyId=bodyId;
ob.powerup=powerup; // direct link to powerup might serve you better!
ob.onRemove=onRemove;
countdowns.push(ob);
于 2013-03-30T04:36:17.587 回答
0

我相信这就是你想要完成的:

var countdowns:Array = new Array;
countdowns[bodyID] = new Array;
countdowns[bodyID][powerupName] = { time: powerup.getTime(), onRemove: onRemove };

倒计时数组的第二维是通过在第一维的每个元素中插入一个数组来实现的。

于 2013-03-29T19:33:21.703 回答