Apache flex AS3中的多维数组 我现在在玩Flex,我有C++背景,所以我不习惯AS3。 问题是在主*.mxml文件中,我有fx:script块,我试图定义一个多维数组,如下所示: public var Board:Array = new Array(25);
我使用函数初始化二维数组:Apache flex AS3中的多维数组 我现在在玩Flex,我有C++背景,所以我不习惯AS3。 问题是在主*.mxml文件中,我有fx:script块,我试图定义一个多维数组,如下所示: public var Board:Array = new Array(25);,apache-flex,actionscript-3,multidimensional-array,Apache Flex,Actionscript 3,Multidimensional Array,我使用函数初始化二维数组: public function initBoard():void { var i:int; var j:int; for (i = 0; i < 25; i++) { Board[i] = new Array(40); for (j = 0; i < 40; j++) { Board[i][j] = 0; } } } 公共函数initBoard():
public function initBoard():void {
var i:int;
var j:int;
for (i = 0; i < 25; i++) {
Board[i] = new Array(40);
for (j = 0; i < 40; j++) {
Board[i][j] = 0;
}
}
}
公共函数initBoard():void{
变量i:int;
var j:int;
对于(i=0;i<25;i++){
板[i]=新阵列(40);
对于(j=0;i<40;j++){
板[i][j]=0;
}
}
}
这个函数稍后会在主循环中被调用到init并重置“board”为什么它不工作。AS3文档的唯一区别在于它是在函数中完成的。是否存在范围问题
提前感谢你,
尼古拉斯·沃斯
另外,我希望有人能告诉我为什么它不起作用,以及如何正确操作…你有
I
哪里应该有j
for (j = 0; i < 40; j++) {
(j=0;i<40;j++)的{
这会解决你的问题
for (j = 0; j < 40; j++) {
(j=0;j<40;j++)的{
你有i
应该有j的地方
for (j = 0; i < 40; j++) {
(j=0;i<40;j++)的{
这会解决你的问题
for (j = 0; j < 40; j++) {
(j=0;j<40;j++)的{
您不需要在AS3中定义数组长度-我只需要使用[]
操作符来创建新数组。此外,您还使用了I
,其中j
是for
循环最内层的所需的
function initBoard():Array
{
var board:Array = [];
var i:int = 0;
var j:int;
for(i; i<25; i++)
{
board[i] = [];
j = 0;
for(j; j<40; j++)
{
board[i][j] = 0;
}
}
return board;
}
trace(initBoard());
函数initBoard():数组
{
var板:数组=[];
变量i:int=0;
var j:int;
对于(i;i您不需要在AS3中定义数组长度-我只需要使用[]
操作符来创建一个新数组。此外,您还使用了i
,其中j
是最内层for
循环中需要的
function initBoard():Array
{
var board:Array = [];
var i:int = 0;
var j:int;
for(i; i<25; i++)
{
board[i] = [];
j = 0;
for(j; j<40; j++)
{
board[i][j] = 0;
}
}
return board;
}
trace(initBoard());
函数initBoard():数组
{
var板:数组=[];
变量i:int=0;
var j:int;
因为(我;我)