as3.0 关于函数调用 动态参数

设有一函数如下定义creatMap(playLevelSy:Array);然后我想functioninIt(level:int):void{creatMap(数组名);}... 设有一函数如下定义 creatMap(playLevelSy:Array);
然后我想 function inIt(level:int):void{
creatMap(数组名);
}
这个数组名根据Init的参数改变
例如level是1是那么 creatMap(play1Sy);
2 creatMap(play2Sy);
3 creatMap(play3Sy);
那么请问这个数组名应该怎么写? 我试过creatMap(["play"+level+"sy"])
不行

谢谢了!
展开
 我来答
zb6306
2012-05-07 · TA获得超过777个赞
知道大有可为答主
回答量:2585
采纳率:66%
帮助的人:1165万
展开全部
//并不复杂的一个东西。只是你的概念整混了,其实你是想给函数传递数组中不同的值,并不是传递给函数一个数组否则你读取的必须是一个二维数组。象以下这样
//假如你有一个数组需要传递给creatMap
var creatMapAr:Array=[new Array(),new Array(),new Array(),new Array()];
function inIt(level:int):void
{
if (level<creatMapAr.length)
{
creatMap(creatMapAr[level]);
}
}

//否则你传递的就不是一个数组,而是数组中的一个元素值。
追问
是这样的 那个数组是一个二维数组 存储着地图信息矩阵 不同的关卡有不同的地图 就有不同的二维数组 所以我想只要Init(关卡数) 他就自动去找那个二维数组(数组名就是play关卡数Sy) 然后创建地图 
那么当我想弄一个新关卡的时候 我只需要编写一个二维数组去存储二维矩阵 然后调用的时候直接Init();就可以了 不需要该其他。 如果按照你的方法 我还需要在 creatMapAr中插入新的地图数组
谢谢!按你这种方法也很方便
追答
那确认了再谢谢呀。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式