自己学习的,研究都拿出来共享,大家学习,讨论才好玩
首先声明,这里不是完全白痴教程,不会对一些基础的东东讲解..好了,无废话开始

1. 要做图片逐消,当然要有张图片,随便你怎么弄,简单点就和我一样ctrl+r > 我的文档 > 我的图片,导张图好了
2. 新建立一mc,命名image,然后把刚才的图片仍进来,图片坐标位置(0,0),然后到场景中把image这个mc,仍场景里,随便哪里,只要你高兴,然后ctrl+F3为此mc,命名实例名image
3. 新建一mc,命名为dot,按'R'选择矩形填充工具,随便拉一下,然后去掉线条ctrl+I,设置大小为10x10,坐标为(0,0)...然后在库中,右击dot mc,选择linkage,弹出窗口中,钩选Export for ActionScript, 在linkage identifier里面填写"dot",其他默认
4. 开始加程式了....来来来,表晕表晕 ^^"
还记得你刚才 场景中有个image的帧吧,如果是新建flash文档,那么就是第一帧,不然自己找吧,我也不知道你放哪里去了~~~,先给这个帧上加个stop();
然后继续添加下列代码
var width = image._width; // 定义图片宽度
var height = image._height; // 定义图片高度
// 定义图片起始位置,取决于刚才的图片mc内的坐标(0,0),不明白道理的,你把图片随便放个位置,再测试一下就明白了
var sx = image._x; var sy = image._y;
// 定义图片的行,列, 除以10是因为dot的长宽都为10,什么你不知道?!,到上面看制作步骤先~~~
var rows = height/10;
var cols = width/10;
// 建立一个dotRoom,存放dot
var dotRoom = this.createEmptyMovieClip("dotRoom",1);
var count = 0; // 计数,记dot的个数
// 定义准备运动内容
function readyGo(){
// 二重循环排列dot的位置
for(var y=0; y<rows; y++){
for(var x=0; x<cols; x++){
var newName = "dot_"+x+"_"+y; // attachMovie时的mc的newName
var dot = dotRoom.attachMovie("dot", newName, count); // 加载dot mc到dotRoom,然后声明一个dot变量引用这个加载的dot(这句不懂的没关系,照做就行)
dot._x = sx + dot._width*x; // 此dot的x位置
dot._y = sy + dot._height*y; // y位置
dot.delay = getTimer() + Math.random()*1000 + 500; // 定义删除的延迟时间
dot.onEnterFrame = showDot; // onEnterFrame指向 showDot函数
count++; // 计数累计
}
}
image.setMask(dotRoom); // dot排列好了,把image和dotRoom做个遮罩
}
function showDot(){
if(getTimer() - this.delay > 0){
// 如果运行时间大于了dot的delay,那么就把这个dot删除掉
this.removeMovieClip();
}
}
// 开始做准备活动
readyGo();
ok,ctrl+enter测试,还行吧效果...嘿嘿,这就是'逐消'了
如果要逐消的再噱头一点...改变dot.delay = getTimer() + Math.random()*1000+500; 比如改成
dot.delay = getTimer() + Math.random()*(x+5)*(y+5) + 500;
嘿嘿,自己去研究吧....我的注释基本就这样了,不懂的语句按F1看帮助,其他还有什么不懂的地方,拿出来问
或者你有好的想法和方法,也希望拿出来共享...
一句话,大家一起玩才好玩