5D艺术网首页
商城
|
资讯
|
作品
|
博客
|
教程
|
论坛
登录
注册
加为好友
发短消息
来自:bj
性别:先生
最后登录:2018-10-12
http://yitu.5d.cn/
首页
|
新闻
|
话题
|
博客
|
相册
|
艺术作品
|
社交关系
|
留言板
|
社交圈
2005/09/01 | Array的用法
类别(flash As)
|
评论
(0)
|
阅读(566)
|
发表于 17:00
//initialize
nw =13;
nh = 8;
pix = new Array(nw, nh);
t = 0;
for (i=1; i<=nw; i++) {
for (j=1; j<=nh; j++) {
ij = i*10+j;
duplicateMovieClip(m1, "pix" add ij, ij);
pix[i, j] = eval("pix" add ij);
pix[i, j]._x = i*m1._width;
pix[i, j]._y = j*m1._height;
}
}
for (i=1; i<=nw; i++) {
for (j=1; j<=nh; j++) {
removeMovieClip(pix[i,j]);
}
}
---------------------------------------------------------------
楼主可能对flash 中AS中Array不是很了解。建议看一看相关的资料。
我这里大体提一下(从书本上拷贝的):Array(数组对象)允许用户访问和操纵数组。数组其实也是对象,它的属性可以通过数组中代表属性位置的数字来区别。该数字也被应用为索引。所有的数组索引均已0为起点。
数组对象的构造方法:
new Array()
new Array(length)//(length指定数组中元素个数)
new Array(element0,element1,element2,...,elecmentN)//(elecmentN两个或者两个以上任意值的列表。这些值可以是数字、字符串、对象或者其他数组。数组中第一个元素的索引号或位置总是0)
---------------------------------------------------------------
楼主 pix = new Array(nw, nh); 这样定义的意图是得到一个二元数组。但在flash AS中并不支持二元数组。
pix[i, j] = eval("pix" add ij); 可以执行是因为flash AS中字符串和数值可以相互转化。
加入此处i=3,j=2,那么得到的就是pix[2] = eval("pix" add 32)。所以也就出现了只删掉最后一列方块的问题。
这是本人的理解,如有不对的地方,还请多多指教。
---------------------------------------------------------------
我这里修改了一下代码,
//initialize
nw =13;
nh = 8;
pix = new Array(nw*10+nh);
for (i=0; i<=nw; i++) {
for (j=0; j<=nh; j++) {
ij = i*10+j;
duplicateMovieClip(m1, "pix" add ij, ij);
pix[ij] = eval("pix" add ij);
pix[ij]._x = i*m1._width;
pix[ij]._y = j*m1._height;
}
}
for (i=0; i<=nw; i++) {
for (j=0; j<=nh; j++) {
ij = i*10+j;
removeMovieClip(pix[ij]);
}
}
0
评论
Comments
日志分类
首页
[193]
flash As
[107]
有的没的
[59]
数码照片
[4]
自由世界
[19]
blender
[4]