我能够做到这一点是这样的:如何让2D矢量在AS3
var levelVector = new Vector.<Vector.<int>>();
levelVector[0] = new Vector.<int>();
levelVector[1] = new Vector.<int>();
levelVector[2] = new Vector.<int>();
levelVector[0][0] = 0;
levelVector[0][1] = 0;
levelVector[0][2] = 5;
levelVector[0][3] = 0;
levelVector[0][4] = 0;
levelVector[0][5] = 0;
levelVector[1][0] = 0;
levelVector[1][1] = 0;
levelVector[1][2] = 5;
levelVector[1][3] = 0;
levelVector[1][4] = 0;
levelVector[1][5] = 0;
levelVector[2][0] = 0;
levelVector[2][1] = 5;
levelVector[2][2] = 2;
levelVector[2][3] = 2;
levelVector[2][4] = 2;
levelVector[2][5] = 2;
但我宁愿有这样的事情:
levelVector = [[0,0,3,2,1],[1,1,2,2,2],[3,2,2,1,2]];
这将是更加有用像这样:
levelVector = [
[0,0,3,2,1],
[1,1,2,2,2],
[3,2,2,1,2]
];
因为现在它实际上读取像2D数组或网格,这将是非常有用的。我想我可以像这样做数组,所以有一种方法与矢量?为每个具有自己的代码行的大型二维向量填写每个值都很难查看或理解或写入。我错过了什么,或者这只是一个向量的短暂下降?
谢谢!
你对我使用的“(3)”是正确的。它没有导致编译错误(不知道为什么),但它没有添加任何有用的。我只是在没有测试的情况下进行测试,并且以任何方式工作,所以即使我使用严格模式和警告模式,Flash也必须忽略它。 –
另外,我不确定我在我的问题中说了什么,这听起来像我试图将数组转换为向量。我只是想创建一个2D矢量。感谢您花时间在此。我会测试每一个。您的答案中的第二个代码块与@Vesper的建议相同。但这不起作用。正如我在我的回答中所说的,该向量似乎需要在一行代码中创建,然后才能填充。 –
至于我为什么要做二维数组,因为我不能遍历每个子矢量以获得其他地方的深度控制函数。 –