|
晃动的竖线
^|h.B$_F,
^|h.B$_F, 注:本人使用的Flash版本 Macromedia Flash MX 2004
^|h.B$_F,
^|h.B$_F,
^|h.B$_F,
^|h.B$_F, 源文件下载学习
^|h.B$_F,
^|h.B$_F, 这个效果非常常用,其实实现起来也比较简单,主要通过控制MC的x坐标来实现。
^|h.B$_F,
^|h.B$_F, 新建一个MC,命名为line_g,画一条竖线,坐标(0,0)。
^|h.B$_F,
^|h.B$_F, 注意:在这种需要控制坐标的flash中每个MC的初始坐标值都是很重要的,否则你很难弄清楚那个该死的MC到底跑到哪去了,即使是普通的flash,我们也最好制作得规范一些,这样看上去很清晰,检查起来也很方便。
^|h.B$_F,
^|h.B$_F, 再新建一个MC,命名为line_a,将line_g拖入(注意坐标),在line_g上捆绑下面的AS:
^|h.B$_F,
^|h.B$_F, onClipEvent (load) { speed = random(40)-20;//设置移动速度的初始值为-20至20 round = 20;}onClipEvent (enterFrame) { if (_x < 0) { _x = 450; } if (_x > 450) { _x = 0; }//上面两个判断语句是为了避免MC超出播放范围,其中"450"为fla文件的宽度
^|h.B$_F, if (i < round ) {
^|h.B$_F, _x += speed;
^|h.B$_F, i++;
^|h.B$_F, //给它一定的运行时间来保持某一速度
^|h.B$_F, //数值20为保持这个速度的周期,可以根据自己的需要设定
^|h.B$_F, } else {
^|h.B$_F, speed = random(40)-20;
^|h.B$_F, i = 1;
^|h.B$_F, //超过时间后赋予新的速度
^|h.B$_F, }
^|h.B$_F, }
^|h.B$_F,
^|h.B$_F,
^|h.B$_F,
^|h.B$_F, 回到场景,拖入几个line_a,(本例中是5个),将它们的x坐标统统设置为0,y坐标设置为fla文件的高度的一半,预览就得到了上面的效果。仔细观察可以看出它们会同时改变速度和方向。
^|h.B$_F,
^|h.B$_F, 我们还可以进一步修改,让每一个MC的速度变化周期各不同(上面的变化周期20是固定的),改为:
^|h.B$_F,
^|h.B$_F, onClipEvent (load) { speed = random(40)-20;//设置移动速度的初始值为-20至20 round = random(15)+5;}onClipEvent (enterFrame) { if (_x < 0) { _x = 450; } if (_x > 450) { _x = 0; }//上面两个判断语句是为了避免MC超出播放范围,其中"450"为fla文件的宽度
^|h.B$_F, if (i < round ) {
^|h.B$_F, _x += speed;
^|h.B$_F, i++;
^|h.B$_F, //给它一定的运行时间来保持某一速度
^|h.B$_F, //数值20为保持这个速度的周期,可以根据自己的需要设定
^|h.B$_F, } else {
^|h.B$_F, speed = random(40)-20;
^|h.B$_F, round=random(15)+5;
^|h.B$_F, i = 1;
^|h.B$_F, //超过时间后赋予新的速度
^|h.B$_F, }
^|h.B$_F, }
^|h.B$_F,
^|h.B$_F,
^|h.B$_F,
^|h.B$_F, 这样变化就更神出鬼没了。如果你喜欢,还可以进一步随机调整场景中竖线的色彩和宽度,留给各位思考和试验。
^|h.B$_F,
^|h.B$_F,
^|h.B$_F,
^|h.B$_F,
^|h.B$_F,
^|h.B$_F,
^|h.B$_F,
^|h.B$_F,
|