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"])
不行
谢谢了! 展开
然后我想 function inIt(level:int):void{
creatMap(数组名);
}
这个数组名根据Init的参数改变
例如level是1是那么 creatMap(play1Sy);
2 creatMap(play2Sy);
3 creatMap(play3Sy);
那么请问这个数组名应该怎么写? 我试过creatMap(["play"+level+"sy"])
不行
谢谢了! 展开
展开全部
//并不复杂的一个东西。只是你的概念整混了,其实你是想给函数传递数组中不同的值,并不是传递给函数一个数组否则你读取的必须是一个二维数组。象以下这样
//假如你有一个数组需要传递给creatMap
var creatMapAr:Array=[new Array(),new Array(),new Array(),new Array()];
function inIt(level:int):void
{
if (level<creatMapAr.length)
{
creatMap(creatMapAr[level]);
}
}
//否则你传递的就不是一个数组,而是数组中的一个元素值。
//假如你有一个数组需要传递给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中插入新的地图数组
谢谢!按你这种方法也很方便
追答
那确认了再谢谢呀。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询