|
首页 | 名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
本文节选自本人最近在制作的AS2语法研究报告,供AS兴趣者交流,学习。 哪里说得不对或不当,还请指正,谢谢. 数组: 下面是关于数组类型的一些个人认为比较重要点的小结,一些旁枝性的东东都略去了, var a[1]:Array=new Array();
function test(arr[]:Array):Void 2声明方法1(注,这里的声明方法全部使用强类型声明方法) var a:Array=new Array();
a[0]=0; a[1]=1; trace(a); //Output 0,1 3声明方法2 var a:Array=new Array(4);
a[4]=1; trace(a); //Output undefined,undefined,undefined,undefined,1 解释:动态数组,用a[4]后长度自动变成5。 4声明方法3 var b:Array=new Array(0,1,2,3);
trace(b); 0,1,2,3 4.2并不支持这种形式的二维数组的嵌套定义 var b:Array=new Array((1,2),(3,4),(5,6));
trace(b); trace(b[0]+" "+b[1]+" "+b[2]+" "+b[3]); trace(b[0][0]); 2,4,6 2 4 6 undefined undefined 5用[]取代了C++中的{}; 声明方法4 var b:Array=[[1,2],[3,4],[5,6]];
trace(b); trace(b[0]+" "+b[1]+" "+b[2]+" "+b[3]); trace(b[0][0]); 1,2,3,4,5,6 1,2 3,4 5,6 undefined//用b[0]输出了一个数组行. 1 6二维的维数设定同样是动态的: var b:Array=[[1,2],[3,4],[5,6]];
b[2][3]=12; trace(b[2][3]); //Output 12 7其它的二维数组声明方法: 2*3 Array Declare.
var gRowIndex:Number=2; var gColIndex:Number=3; var a:Array=new Array(gRowIndex); for (var i=0;i<gRowIndex;i++) { a[i]=new Array(gColIndex); for (var j=0;j<gColIndex;j++) { a[i][j]=String(i)+String(j); } } trace(a); //Output 00,01,02,10,11,12 8数组作函数为参数的传递. var b:Array=new Array(0,1,2,3);
function test(arr:Array):Void { trace(arr[0]+" "+arr[1]+" "+arr[2]+" "+arr[3]+" "); } test(b); 0 1 2 3 8.2 var b:Array=[[1,2],[3,4],[5,6]];
function test(arr:Array):Void { trace(arr); trace(arr[0]+" "+arr[1]+" "+arr[2]+" "+arr[3]+" "); } test(b); 1,2,3,4,5,6 1,2 3,4 5,6 undefined 8.3 var b:Array=[[1,2],[3,4],[5,6]];
function test(arr:Array):Void { trace(arr); trace(arr[0]+" "+arr[1]+" "); } test(b[0]); test(b[1]); test(b[2]); 1,2 1 2 3,4 3 4 5,6 5 6 9更多: var gRowIndex:Number=2;
var gColIndex:Number=3; var a:Array=[[0,1],[3,4,5]];//某个位置空缺某个元素,这里为[0][2] trace(a); for (var i=0;i<gRowIndex;i++) { for (var j=0;j<gColIndex;j++) { trace(a[i][j]); } } 0,1,3,4,5 0 1 undefined 3 4 5 9.2动态维数并不支持 var b:Array=[5,6];
b[0][0]=3; trace(b[0][0]); //Output undefined。 9.3一个间接对象数组实现的例子. var enArray=new Array(3);
// ------ 连接到ENEMY数组 --------- // for(var j=0;j<3;j++){ attachMovie("baddie", "baddie"+j, 200+j); enArray[j] = _root["baddie"+j]; enArray[j]._x = 50*j; enArray[j]._y = 100; } 9.4
var p=new Array(1,2,3,4,5);
p.splice(1); trace(p); var t=new Array(1,2,3,4,5); t.splice(2,1); trace(t); //Output 1 1,2,4,5 10.2二维情况: var b:Array=[[1,2],[3,4],[5,6]];
b[0].splice(0);//delete c[0][0] c[0][1] trace(b); var c:Array=[[1,2],[3,4],[5,6]]; c[1].splice(1);//c[1][1] trace(c); ,3,4,5,6 1,2,3,5,6 11长度测试: var b:Array=[[1,2,2],[3,4],[5,6,4,5]];
trace(b.length); trace(b[0].length); trace(b[2].length); //Output 3 3 4 ========================================================= var arr:Array=new Array(1);
arr[0]=new Array(3); arr[0][0]=1; arr[0][1]=2; arr[0][2]=3; trace(arr); trace(arr[0][0]); trace(arr[0][1]); trace(arr[0][2]); 1,2,3 1 2 12加载数据的新方法(多重属性): mData=new Array();
mData.addItem({ label: "二球动量守恒(一维)" ,data:0}); mData.addItem({ label: "三球动量守恒(一维)" ,data:1}); mData.addItem({ label: "多球平面碰撞(二维)",data:2}); mData.addItem({ label: "子母球",data:3}); 用于配合V2Component中的ComboBox的使用: _root.menuCombo.dataProvider=mData;
返回类别: Flash教程 上一教程: 使Flash在网页中实现全屏显示 下一教程: 在flash中用javascript控制页面中的mediaplay 您可以阅读与"ActionScript数组使用小结"相关的教程: · Actionscript中的数组 · Flash MX 2004 ActionScript图文教程(五) · 使用Flash MX的3个小技巧 · Flash大型ActionScript编程编程经验之谈 · ActionScript入门学习-Movie Clip的控制 |
快精灵印艺坊 版权所有 | 首页会员中心在线印刷在线编辑付款方式索取样品设计指南连锁门店 |