考虑以下代码:
var t:Matrix3D = new Matrix3D(
new Vector.<Number>([1,0,0,0,0,1,0,0,0,0,1,0,10,10,0,1])
);
trace(t.rawData[12]);
trace命令会为我打印“0”,并且调试器可以看到rawData实际上包含一个单位矩阵。我根本无法设置Matrix3D所包含的值!
我正在使用flash 11.2。
谢谢,任何帮助!
答案 0 :(得分:1)
非常确定您创建预填充Vector的语法是错误的。
你应该:
new <Number>[values]
而不是:
new Vector.<Number>([values])
演示:
var wrong:Vector.<int> = new Vector.<int>([1,2,3]);
var right:Vector.<int> = new <int>[1,2,3];
trace(right[1]); // 2
trace(wrong[1]); // error