[全屏观看]
一直都以为Flash中对图片的处理是比较弱的,但偶然在网上找到的一个例子彻底地打消了我的这个想法。先来看看实例,点击按钮,对各个参数设置一定的值,就可以看到相应的图片实例效果,一共有十八种不同的实例。
源文件下载请点击这里。
一、原理 原理其实是非常简单的,将要操作的图片分成一小块一小块,每一次通过不断操作分割后图片的_x、_y、_xscale、_yscale、_rotation值来实现处理效果。
具体实现中,可以用遮照效果将图片分割成小块,实现简单而且操作方便。对_x、_y、_xscale、_yscale、_rotation的操作可以封装在帧函数里面,不断调用,就可以实现效果。
下面我们来具体看看实例。
二、制作实例 1、在Flash MX中新建一个fla文件,按Ctrl + F8新建一个Movie Clip,命名为“slider clip”,类型为“Movie Clip”。在此Clip的场景中用矩形工具绘制一个正方形。
2、按Ctrl + F8新建一个Movie Clip,命名为“slider”,类型为“Movie Clip”。在此Clip的场景中用矩形工具绘制一个长方形。将上一步中制作的Clip “slider clip”拖到此Clip的场景中长方形的下端,命名为“button”。用文本工具在Clip “slider”场景中的长方形的下面拉一个文本输入 框,属性设置如图1所示。并在Clip “slider”的帧的Action 面板上面增加如下语句:
function setY (value) { //注释1 _level0[change]=value; //注释2 range = top-base; button._y=-(value-base)/(range/200); //注释3 } function go () { var buttonY = -button._y; var value = base+((range/200)*buttonY); //注释4 _level0[change]=value; } function reset() { //注释5 setY(_level0[change]); } reset(); //注释6
注释1:定义一个函数,传入的参数是value。 注释2:这里chang分别代表的是制作过程第11步所增加的Action语句里面所赋的值。 注释3:定位button的位置。 注释4:取得button的最大位置。 注释5:封装上面所定义的函数。 注释6:调用上面所定义的函数。
3、按Ctrl + F8新建一个Movie Clip,命名为“slider button”,类型为“Button”。在此Button的场景中用矩形工具绘制一个正方形。
4、按Ctrl + F8新建一个Movie Clip,命名为“preset selector”,类型为“Movie Clip”。用文本工具在此Clip场景中拉一个文本输入框,属性设置也如图1所示。将上一步制作的Button“slider button”拖到此Clip的场景中,并在此Button的Action面板上面增加如下语句:
on (release) { _level0.preSet(_level0["pre"+num]); //注释1 }
注释1:调用主场景中所定义的帧函数preSet,传入参数中的num是制作过程第10步中所传入的参数。
5、按Ctrl + F8新建一个Movie Clip,命名为“img selector”,类型为“Movie Clip”。用文本工具在此Clip场景中拉一个文本输入框,属性设置如图1所示。将Button“slider button”拖到此Clip的场景中,并在此Button的Action面板上面增加如下语句:
on (release) { _level0.setUp(me); //注释1 }
注释1:调用主场景中所定义的帧函数setUp,传入的参数me是制作过程第12步中所传入的参数。
6、按Ctrl + F8新建一个Movie Clip,命名为“img Holder”,类型为“Movie Clip”。通过菜单命令File / Import导入一个图片到图库中,并拖到此Clip的场景中。在此Clip的第一帧的Action面板上面增加如下语句:
gotoAndStop(_parent.type);
注释:图片是可以动态导入进这里来的,如果是动态导入的话,操作是差不多的。
7、按Ctrl + F8新建一个Movie Clip,命名为“slice”,类型为“Movie Clip”。设置此Clip的Linkage如图2所示。将Clip“img Holder”拖到此Clip的场景中,命名为“img”。在Clip“slice”的时间轴上面增加一个新的图层“Layer 2”,在新增图层“Layer 2”的场景中用矩形工具绘制一个长方形,长方形的长要跟Clip“img Holder”差不多。
8、调整Clip“slice”时间轴中图层的位置,让有Clip“img Holder”的“Layer 1”图层在“Layer 2”图层的下面。鼠标右键点击“Layer 2”图层的名字,选择“Mask”项。鼠标右键点击“Layer 1”图层的第五十帧,在第五十帧上面插入关键帧,让第五十帧的场景中的Clip“img Holder”位置向左偏移一定的距离。点击“Layer 1”图层的第一帧,设置帧的属性面板如图3所示。
9、按Ctrl + F8新建一个Movie Clip,命名为“slice holder”,类型为“Movie Clip”。设置此Clip的Linkage如图4所示。
·用flash制作模拟胶片循环播放 效果 ·用Flash制作简单的飞鸟动画 ·超详细图文解析 用Flash制作魔法表情 ·Flash制作烟花效果动画 ·FLASH制作网站过程详细规划 ·利用Flash制作缤纷雪花 ·Flash制作碧海蓝天海鸥飞片头动画 ·教你用Flash制作不停转动的地球仪 ·FLASH制作精美的闹钟 ·Flash制作片头动画:碧海蓝天海鸥飞
10、回到影片的主场景中,从图库中拖19个Clip“preset selector”到场景中排列好,并依次在各个Clip实例的Action面板上面增加语句。
在实例1的Action面板上面增加如下语句:
onClipEvent (load) {
复制本页网址和标题,发送给你QQ/Msn的好友一起分享
上一篇:FlashMX 基础应用(1.3)
下一篇:用Flash和XML构建论坛实例(上)