用Flash制作别致的贺卡 |
打开贺卡,圣诞夜的雪景浮现眼前 。随着鼠标的移动,一颗颗星星逐步闪现, 而后飞到一同,在夜空中构成一颗闪亮的心…… 圣诞节快到了,你难道不想做一张这样别致的贺卡送给你的GF吗?
怎么样?动心了?OK!现在我们就开始制作吧 。 一、要 预备的素材 1.星星的闪光 包含圆形的闪光和十字形的闪光两种 。圆形的闪光便是先画一个正圆, 而后转变其填充为白色到透明的径向渐变就好了,固然别忘了删掉圆的线边 。做好以后将其转化为图形元件“glow” 。 十字形的闪光制作稍复杂丝毫:首先画一个长方形, 而后将其线边删掉;转变其填充为白色到透明的线性渐变;点取“填充转换工具”,将长方形上的渐变调整到适当角度(如图所示);将上面所画的长方形复制三份,摆成如图所示的 形态, 而后将其转化成图形元件( 留神:这一步很主要,不转换成元件的话在下一步叠放中将会 产生 彼此遮挡的状况,达不到应有的透明 动机);再将这个 形态复制一份,调整使之与已有图形垂直,将最终所得的图形转化成图形元件,取名“stargfx”,这便是十字形闪光的成品了 。 2.一张 合适的背景图:找一张有 空气的图片做为影片的背景 。你总不 盼望你的影片只不过 单调地有一些星星在飞吧,这样可讨不到女孩子欢心噢 。图片应该是深色的,最好有星空做背景,这样才与我们的 动机相搭配嘛 。 需求 预备的东西就这些了,下面就要 着手把这些 方便的东西组合成 壮丽的特效啦 。 二、影片元件的制作 1.会 闪耀的星星 新建一个影片剪辑“star”,将已有的层改名“star”, 而后在这一层正中央画一个很小的圆,这是星星的主体;新建一个层“starglow”,将我们做好的圆形发光 动机“glow” 搁置在主星星体上方 。再新建一层“stargfx”,将我们做好的“stargfx”图形元件放在星星主体上方 。 而后来做 闪耀的动画 动机: “stargfx”层:转变第一帧“stargfx”元件的Alpha值为0; 而后在第5帧增加 要害帧,转变“stargfx”的alpha值为100,并将其旋转一个适当的角度( 比方顺时针45度);在第十帧增加 要害帧,转变“stargfx”的alpha值为0,并沿与上次 雷同的方向旋转一个同样的角度;最终在各 要害帧中间生成动画 。假如发现生成动画后元件旋转的方向与想要的不同, 可以点击两 要害帧中间的任何丝毫, 而后在属性栏里转变其旋转方向 。 “glow”层: 要害帧的位置和元件的alpha值调成与上一层 雷同就行了,不过旋转就免了吧 。 将每一层的帧数 蔓延至70帧( 可以自定,但最好不要太少 。这主要是为了在影片播放时星星 闪耀有个 工夫 间隔,不致于闪个不断) 。 2. 指标点: 新建一个影片剪辑,在其中画一个小正方形 。这东西用在做什么?呵呵,这便是我们的星星要飞去的方向啦,具体的作用在下面的“写入ACTION SCRIPT”中会讲到 。 3.动作区: 新建一个影片剪辑“action”,将现有层改名为“background”,将我们导入的图片背景拖动至 核心位置 。 而后新建一个层“star”,接下来最艰难的工作开始了,我们要用我们 方才做好的 指标点在这一层上摆一个图形,也便是我们想要星星最终构成的图案,在这个例子里我们要摆的便是一颗心 。 留神:摆好以后还要给每个 指标点归定不同的instance名,命名 规定是“*+ 顺次的数字”,在本例中我们 使用z1-z60 。这就 象征着我们的这颗心由60个 指标点构成,标号从“z1”向来到“z60” 。 终于摆完了?怎么样,很累吧 。MM的欢心可不是那么方便讨的噢 。选中你所摆的图案,把它的alpha值调到0,这样在影片中就看不到它们了,也就不会有人晓得星星怎么那么听话啦 。 接下来拖动我们做好的星星“star”到这一层,将其instance名也改为“star” 。 三、Action Script操纵 好了,现在最 要害的步骤来了 。先具体说一下这个 动机的实现原理:我们先用 指标点摆一个图案, 而后在影片播放的时候动态生成一些星星,给这些星不同的 指标点,让它们飞向各自的 指标点,最终就构成我们摆好的图案了 。 怎么归定每颗星的 指标点呢?我们 可以在每个星的影片剪辑里设一个变量,在星生成的时候给这个变量赋值, 而后在星运动时就 可以用eval("z"+num)的 模式组合出这颗星的 指标点的名字了(这也是为何我们的 指标点开始要那么命名的缘由) 。至于怎么让星飞过去的程序嘛,其实早就有了,记得广为流传的鼠标根随脚本么?这里只不过将 指标点由鼠标坐标处改成了我们自己的 指标点而已 。 清楚了吧?那么你 可以自己尝试着写啦 。假如你还是感觉一头的雾水,请看下面的源码 。 要害地方已经有了 详尽的 诠释 。 1.点击“action”影片剪辑,在Action面板中写入如下的代码: onClipEvent (load) { //在影片调入时初始化一些必要的变量 count = 1; //目前星星的编号 maxcount = 400; //影片中最大同意浮现的星星个数 } onClipEvent (mouseMove) { if (count<maxcount and (Math.random()*5)<1) { //以 定然机率生成星星及限定星星个数 duplicateMovieClip(star, "star"+count, count); if (count<=60) { //星星数目仍小于 指标点个数时 eval("star"+count)._xscale = eval("star"+count)._yscale=100; eval("star"+count).active = true; eval("star"+count).mytarget=count; file://设定 指标 } else { //星星超过 指标点个数的话生成的星星就不会动,并且比原来的小 。 eval("star"+count)._xscale = eval("star"+count)._yscale=50; eval("star"+count).active = false; } eval("star"+count)._x = _xmouse; //星星浮现在鼠标所在位置 eval("star"+count)._y = _ymouse; count++; //记数器加 } } 2.点击“action”中的“star”,在Action面板中写入如下的代码: onClipEvent(enterFrame){ if(realactive){ //星星是不是仍同意运动,realactive 起源请看下面一条(3) xm=eval("_parent.z"+mytarget)._x-_x; file://运动 ym=eval("_parent.z"+mytarget)._y-_y; _x+=xm/10; _y+=ym/10; if(Math.abs(xm)<0.5 and Math.abs(ym)<0.5) realactive=false; // 根本 到达 指标点后 停留运动 } } 3.编辑“star”影片剪辑,插入ActionScript如下: realactive=active; 这样做的 目标便是让星星在原地停留一会儿(也便是影片播放到40帧以后)再向 指标点运动 。 好了, 大体的制作过程便是这些了 。你还 可以加入更多的 动机使影片更加完善, 比方:加入文字的动画 动机,或是增加通过随机函数增加星星动作的随机性等等, 所有你自己 施展啦 。 而后,在圣诞前夜,给心仪的MM发去这样的一张贺卡, 而后,你就只管偷着乐吧! |