头一回写教程请大家来捧捧场。希望新手学习,高手指点。
废话少说,开始:)
如果您有一点as基础,那就太好了,没有也无所谓,其实as已经为我们提供了 许多,它是一种非常好懂的语言。
相信大家在许多mtv中也看到不少闪电效果,到底是怎样实现的呢?
先来看看特效。
源文件 [ 点击下载 ] http://file.flash8.net/2003up/2003/8/24/20038241819279262.fla
怎么样还可以吧!好,继续。
学习目的:
1.准确调整渐变色。(闪电mc)
2.attachMovie的运用。
3.random(虽然在MX中不提倡用这个,不过为了简单点……哈哈)的运用
和计算的实现。(好像就这些吧)
第一步.打开新文件,背景色为黑色。ctrl+F8建立新组件,命名为guo.
用矩形工具画小方框,调节渐近色,制作如图效果,然后填充。
注意:两边的渐近色透明,使它与黑色天空更好的融合到一起。
第二步.新建一组件,命名为guoy.将guo拉倒guoy中。制作闪烁效果,无非就是透明度
高低和亮度的高低,我们采用透明度高低的方法制作。如下图所示。
怎么样挺简单吧?
第三步。光闪电闪了,天空是不是还要闪那?对,同样,制作一白色矩形,将塔拉到主场景中,同第二步一样,调节其渐变,
要注意的是一定要配合组件guoy中的闪烁,guoy透明度一定要和天空闪烁透明度想符合。我们将其第五帧透明度设为20%。其它如图所示(图片商船不上去)
哈哈,到这里也挺简单,开始语言的编写了。
第四步.主场景中新建一层命名为Action.
给第一帧加上如下代码:
//made by guoy_8186//不用你管了,我自己的 。
i = 1;//初始化变量下面有用。
j = 100+Number(random(300));//初始化变量,下面有用。
Max = random(350);//guoy罗列的最大量
Dis_x = random(3)-1;//两个罗列在一起的guoy在x方向上相错开。
给第二帧加上如下代码(有点多你耐心看):
while (Number(i) {
i += 1;//i自加1
_root.attachMovie("guoy", "guoy" add i, i);//连接guoy到guoy+i上 ,层级为i。
setProperty("guoy" add i, _y, i);//设置guoy+i的mc的y坐标为i,两个复制的guoyY坐标相差1便于连接。
Distans_x = Number(random(5)-2)+Number(Dis_x);//两个guoy之间相差的Y坐标
j += Number(Distans_x);//j自加
setProperty("guoy" add i, _x, j);//设置属性,不用说了吧
setProperty("guoy" add i, _xscale, Max-i);//使复制出的guoyX方向上长度随i增大而减小。
}
while (Number(i)<350) {
i = Number(i)+1;
removeMovieClip("guoy" add i);//当复制出的guoy小于350时,及时清除
以前复制出的guoy以免,这次闪电出现上次余光。
}
CTRL+回车。
哎?怎么不行?郁闷中,丢大人了。
哈哈闹着玩的,F11,调出库,右键单击guoy,选择linkage,再选择export for actionscript,命名为guoy.
OK万事大吉了,哈哈,大功告成。
你学到了什么?自己总结吧。
其实as就是一种所见即所得的语言,共同努力中。
头一回写教程还有许多不足之处,下回弥补,大家多提意见。
哦,忘了,还可以用duplicateMovieClip,我把源文件一并发上来。
记得把第一帧加上setProperty(_root.guoy, _visible, false);目的是第一个guoy不可见。好了到这里吧。不明白的跟贴。
下回教程我把打字效果整理一下发上来。
爱flash,我爱闪吧,我爱天堂,我更奈我自己
guoy_8186于20:27 2003-8-21
