一张图片(影片剪辑)渐渐淡化另一张图片(影片剪辑)渐渐呈现,这在FLASH制作中经常使用
的一种图片切换方法。
《FLASH实例-图片淡入淡出(AS)》是完全用AS,简便地实现上述图片切换方法,尤其多张图
片使用这种图片切换方法时更显其简便。制作过程如下:
1、图片影片剪辑
分别将各图片(位图)建立图片影片剪辑。图片影片剪辑中的图片位置X=0,Y=0。
图片影片剪辑的“链接”导出设置为p1、p2、p3......pn
“链接”具体操作:右键点库里图片影片剪辑;选链接;出现对话框后点“链接(L)右边第一
个方框(即打勾);标识符(I)栏里输入px(x为1、2、3.....n);点“确定”
2、AS语句
设置将在需要出现图片的帧为关键帧。空白关键帧也可以(上例《FLASH实例-图片淡入淡出(AS)》仅用一个空白关键帧)。输入以下AS语句:
stop();
tpsl=6//图片数量
zxssj=300//图片显示的总时间(帧数)
dcsd=1;//图片淡出速度,值大速度快
xssj=100;//当前图片已显示时间(帧数)
sctp=0;//上层图片是第sctp张
xctp=0;//下层图片是第xctp张
tptmd=100//图片影片剪辑的当前透明度
attachMovie("p1", "mc2", 1001);//从库里调入第1张图片,放在mc2
attachMovie("zhezhao", "zhe", 1002);//从库里调入遮罩,放在zhe-不要遮罩该句删除
mc2.setMask(zhe);//mc2被zhe遮罩-不要遮罩该句删除
//处理事件函数:反复处理函数中的事件
this.onEnterFrame = function() {
if (sctp>tpsl){//图片全部显示后
//removeMovieClip(mc1)//使用时请删除语句前面的两个斜杠
//removeMovieClip(mc2)//使用时请删除语句前面的两个斜杠
//removeMovieClip(zhe)//使用时请删除语句前面的两个斜杠
//gotoAndStop(2);//使用时请删除语句前面的两个斜杠
}else{
//图片显示过程:
if (xssj>zxssj) {//如果已显示时间大于显示的总时间
sctp++//上层图片累加1
attachMovie(["p"+sctp], "mc1", 1001);//更换上层图片
mc1.setMask(zhe);//不要遮罩该句删除
if (sctp xctp=sctp+1;
attachMovie(["p"+xctp], "mc2", 1000);//更换下层图片
}else{//上层图片是最后一张
attachMovie("p1", "mc2", 1000);//更换下层图片为第一张
sctp=0//如使用“图片全部显示后”时请删除该语句
}
mc2.setMask(zhe);//不要遮罩该句删除
tptmd=100//恢复透明度
xssj=0;//恢复已显示时间
}
mc1._alpha=tptmd//上层图片当前透明度
tptmd=tptmd-dcsd//透明度累减dcsd
xssj++//显示时间累加1
}
};
3、调整AS语句中的参数
调整修改AS语句中的参数如图片数量、图片显示的总时间(帧数)、图片淡出速度
4、其他说明
. 图片影片剪辑中除了图片还可以加特效等,其长度(帧数)控制在zxssj(图片显示的总时间
(帧数))之内。
. mc1、mc2即上层图片、下层图片缺省位置为x=0,y=0。
根据需要可定位。定位方法如下:
在“attachMovie("p1", "mc2", 1001);//从库里调入第1张图片,放在mc2”语句后面增加下
面语句:
mc2._x=xx;
mc2._y=yy;
在“xssj=0;//恢复已显示时间”语句后面增加下面语句:
mc1._x=xx;
mc1._y=yy;
mc2._x=xx;
mc2._y=yy;
如果使用遮罩,则在“attachMovie("zhezhao", "zhe", 1002);//从库里调入遮罩,放在zhe
-不要遮罩该句删除”语句后面增加下面语句:
zhe._x=xx;
zhe._y=yy;