论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

马赛克效果

文章类别:Flash | 发表日期:2008-9-21 19:20:03

  首先要感谢闪友的PLMM,我也做了一个马赛克的AS应用,咱们来交流交流。。。。。。
点击开新窗口欣赏该FLASH动画![全屏欣赏]
你能学到的技术包括:复制语句和删除复制MC的语句,随机数的灵活应用,for语句的用法,简单的数组应用,判定语句等等。
第一步:先来看看它的结构:参考图(1):第一层背景图,放的是PLMM;第二层灰块,放的是马赛克的一个元件;第三层空的AS,放的是一个空白的MC,实例名为“as”,里面都是AS命令;第四层B和WEN,放的是按钮和动态文本框。按此在新窗口浏览图片
第二步:首先来做一个正方形,宽度为20像素,灰度#999999,转换为符号;再做一个动画剪辑符号,将这个正方形放入,在第6帧插入要害帧,参考图(2):调整透明度为30,在第7帧插入要害帧,这样第7帧便与第6帧的内容相同,再在第12插入一要害帧,将第一帧复制粘贴到第12帧。这样第1帧和第12帧就是透明度为100的灰块,设置移动渐变动画。做好后给它起实例名为“mc”; 按此在新窗口浏览图片
第三步:来实现灰块的随机播放,在灰块实例“mc”上捆绑以下代码:
onClipEvent (load) {//动画载入时
num=random(12)+1;//让num在1~12之间取随机值
this.gotoAndPlay(num);// this指的是对本身的调用,让此MC播放取得的随机帧数。
}
第四步:来制作那个空的MC,实例名为“as”,新建一个MC,在第一帧上写如下代码:
stop();
_root.mc._visible=0;
mcw=20;
for (i=0; i<12; i++) {
for (j=0; j<10; j++) {
duplicateMovieClip("_root.mc", "mc"+i+j, 10*i+j);
_root["mc"+i+j]._x = mcw*i;
_root["mc"+i+j]._x = mcw*j; }
}
//***********
(想看逐行的解释请看下面。)
stop();
_root.mc._visible=0;
mcw=20;
// 方块的宽度。
for (i=0; i<12; i++) {
// 循环产生12个数。0~11
for (j=0; j<10; j++) {
// 循环产生10个数。0~9;乘到一块就是120块。
duplicateMovieClip("_root.mc", "mc"+i+j, 10*i+j);//要注重深度
// 复制应该都知道。
_root["mc"+i+j]._x = mcw*i;//用数组来存储那些复制出来的MC名,还加上了路径
// 第一个循环复制出来的为mc00、01、02、03...;对应的X坐标为0
// 第二个循环复制出来的为mc10、11、12、13...;对应的X坐标为20*1=20
// ......
_root["mc"+i+j]._y = mcw*j;
// 第一个循环复制出来的为mc00、01、02、03...;对应的Y坐标为0、20、40、60
// 第二个循环复制出来的为mc10、11、12、13...;对应的Y坐标为0、20、40、60
// ......
}
// 第一个循环复制出来的为mc00、01、02、03...;对应的坐标为(0、0)(0、20)(0、40)...
// 第二个循环复制出来的为mc10、11、12、13...;对应的坐标为(20、0)(20、20)(20、40)...
// 可以看出来,它是竖着一列一列的设置。
}
//*——————————
然后在第二帧上写代码:stop();
第五步:制作到这里,你可以测试了,效果不错吧!我又追加了一点功能。在按钮上的代码你一看就明白了,代码如下:
on (release) {
agg = agg+1;
if (agg%2) {//判定奇偶数,若为奇数,停在第二帧;若为偶数,停在第一帧
as.gotoAndStop(2);
_root.wen="接着闪吧,朦胧的感觉更好";//文本显示的文字
for (i=0; i<12; i++) {//只是设了个循环,还是产生那些MC时的循环
for (j=0; j<10; j++) {
removeMovieClip(_root["mc"+i+j]);//把产生出来的新的MC删掉
}
}
} else {
as.gotoAndStop(1);
_root.wen="别闪了,让我看清楚点";//文本显示的文字
}
}
写到这里,不知有没有漏掉什么,反正核心的代码都在上面了,至于一些细节上的东东请你参考源码吧!!!
点击浏览该文件
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058