Flash CS4制作梦幻的星火飘落效果

2016-02-16 19:36 13 1 收藏

下面这个Flash CS4制作梦幻的星火飘落效果教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!

【 tulaoshi.com - FLASH 】

本例主要是在上一个实例的基础上进行扩展,计算鼠标跟随对象来产生具有一定规律的星火特效。

本例思路

导入背景素材,然后制作出星火特效。

创建文档类,产生鼠标跟随的多角星形特效;创建元件类的扩展类,产生随机大小的火花效果。

Part 1 制作星火特效

(1)新建一个大小为500×300像素,帧频为30fps的空白文档。按Ctrl+R组合键导入本书配套光盘中的Chapter08/素材/西湖夜景.jpg文件,然后设置其坐标为(0,0),如图8-1所示,再采用前面的方法在属性面板中添加Main文档类。

Flash CS4制作梦幻的星火飘落效果,PS教程,图老师教程网

图8-1 导入背景

(2)按Ctrl+F8组合键新建一个影片剪辑(名称为Star_mc),进入该影片剪辑的编辑区域,然后按住Shift+Alt组合键的同时使用椭圆工具在该影片剪辑的中心点绘制一个圆形。

Flash CS4制作梦幻的星火飘落效果,PS教程,图老师教程网

图8-2 绘制圆形

技巧与提示:

图形的填充色类型为放射状,第1个色标颜色为(R:255,G:0,B:0),第2个色标颜色为(R:153,G:0,B:0),第3个色标颜色为(R:153,G:0,B:0),Alpha为0%。

(3)新建一个star图层,再单击工具箱中的多角星形工具按钮 ,并在属性面板中设置好该工具的参数,然后按住Shift+Alt组合键的同时在影片剪辑的中心点绘制一个如图8-3所示的星形。

Flash CS4制作梦幻的星火飘落效果,PS教程,图老师教程网

图8-3 绘制多角星形

(4)使用选择工具调整好星形的顶点位置,如图8-4所示。

Flash CS4制作梦幻的星火飘落效果,PS教程,图老师教程网

图8-4 调整顶点

(5)选择调整好的多角星形,然后原位复制出一份,按Ctrl+Alt+S组合键打开缩放和旋转对话框,设置缩放为40%,再设置其颜色为白色,如图8-5所示。

Flash CS4制作梦幻的星火飘落效果,PS教程,图老师教程网

图8-5 拷贝并缩放图形

(6)返回到场景1,按Ctrl+F8组合键新建一个影片剪辑(名称为Magic_mc),再设置填充类型为放射状,第1个色标颜色为(R:255,G:255,B:255), 第2个色标颜色为(R:255,G:255,B:204),第3个色标颜色为(R:255,G:204,B:0),第4个色标颜色为(R:255,G:102,B:0),第5个色标颜色为(R:153,G:0,B:0),Alpha为0%,然后按住Alt键的同时使用矩形工具以该影片剪辑中心点为起点绘制一个如图8-6所示的矩形。

Flash CS4制作梦幻的星火飘落效果,PS教程,图老师教程网

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/flash/)

图8-6 绘制矩形

(7)使用任意变形工具选择矩形,然后按Ctrl+T组合键打开变形面板,设置旋转为45°,再单击重制选区和变形按钮 ,复制出3份图形,如图8-7所示。

Flash CS4制作梦幻的星火飘落效果,PS教程,图老师教程网

图8-7 复制图形

(8)复制出5个图形,然后将其调整成如图8-8所示的颜色,再将复制出的图形转换为影片剪辑,并将其分别命名为01、02、03、04和05 。

Flash CS4制作梦幻的星火飘落效果,PS教程,图老师教程网

图8-8 复制图形

(9)将01、02、03、04和05 影片剪辑分别放置在Magic_mc图层的5个关键帧上,然后分别为其添加不同的发光滤镜,再新建一个AS图层,最后在动作-帧面板中输入stop():程序,如图8-9所示。

Flash CS4制作梦幻的星火飘落效果,PS教程,图老师教程网

图8-9 应用滤镜效果

Part 2 创建元件类

(1)采用前面的方法分别为Magic_mc和Star_mc影片剪辑添加元件类,如图8-10所示。

Flash CS4制作梦幻的星火飘落效果,PS教程,图老师教程网

图8-10 添加元件类

(2)新建一个ActionScript文件,将其命名为Main,然后将其保存在该实例的文件夹中,再输入控制代码。

/**  
* 该类为主程序类  
* @author lbynet  
* @version 0.1  
*/  
package {   
    import flash.display.Sprite;   
    import flash.display.MovieClip;   
    import flash.events.Event;   
    import flash.events.MouseEvent;   
    import flash.ui.Mouse;   
    public class Main extends Sprite {   
           
        private var star:MovieClip;   
  
        public function Main() {   
  
            Mouse.hide();   
            this.star = new Star_mc();   
            addChild(star);   
            stage.addEventListener(MouseEvent.MOUSE_MOVE, moveHandler);   
        }          
        private function moveHandler(e:MouseEvent):void {   
            this.star.x = stage.mouseX;   
            this.star.y = stage.mouseY;   
               
            var _mc = new Magic_mc();   
            _mc.x = stage.mouseX;   
            _mc.y = stage.mouseY;   
            addChild(_mc);   
            _mc.addEventListener(Event.ENTER_FRAME, RemoveDrop);   
        }   
        private function RemoveDrop(event:Event) {   
            var _mc:MovieClip = event.target as MovieClip;   
               
            if (_mc.scaleX = 0) {   
                _mc.removeEventListener(Event.ENTER_FRAME, RemoveDrop);   
                removeChild(_mc);   
            }   
            //trace(this.numChildren)   
        }   
           
    }   
}

技巧与提示:

该文档类基本包含了星星洒落实例中Main文档类的知识,此外第18行代码为Mouse类的hide()方法,用于隐藏鼠标指针,在使用该方法前必须先导入Mouse类(如第11行代码)。

该文档类定义了一个私有属性Star,第19行代码是为该属性赋值,值为所创建的元件类(Star_mc),并将其添加到显示列表中(如第20行代码),而24和25行代码是为该元件类应用鼠标跟随效果。

(3)同样新建一个ActionScript文件,然后输入控制代码。

/**  
* 该类为扩展元件类  
* @author lbynet  
* @version 0.1  
*/  
package {   
       
    import flash.display.MovieClip;   
    import flash.events.Event;   
  
    public class Magic_mc extends MovieClip {   
           
        private var dis:Number;   
           
        public function Magic_mc() {   
            init();   
        }   
        private function init() {   
            var Random = 1 + Math.round(Math.random()*4);   
            this.gotoAndStop(Random);   
               
            this.scaleX = this.scaleY = Math.random();   
            //产生随机数-5到5之间的随机数   
            dis = Math.round((Math.random()-.5)*10);   
            this.addEventListener(Event.ENTER_FRAME,enterFrameHandler);   
               
        }   
        private function enterFrameHandler(event:Event) {   
               
            this.y += 5;   
            this.x += dis;   
               
            this.scaleX -=.005;   
            this.scaleY -=.005;   
        }   
           
    }   
}

技巧与提示:

第19和20行代码是为该元件类创建一个1~5之间的随机数,使该影片剪辑元件类在实例化(被创建时)时将播放头移到并停止在指定的时间帧上。

Math.random()方法产生0~1之间的随机数,Math.random()*4方法返回到0~4之间的随机数,而Math.round()方法用于向上或向下舍入为最接近的整数并返回该值,所以1+Math.round(Math.random()*4)方法取得1~5之间的随机整数值;gotoAndStop()语句使影片剪辑的播放头移到并停止在指定的时间帧上。

通过使用Math.random()-0.5 方法来生成-0.5~0.5之间的随机数,然后乘以10得到-5~5之间的随机数,再使用Math.round方法进行舍入并取得整数,这样当鼠标指针由下往上移动时,就会产生星火飘落的效果,如图8-11所示。

Flash CS4制作梦幻的星火飘落效果,PS教程,图老师教程网

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/flash/)

图8-11  星火飘落效果

第30行代码是为火花加入y轴坐标方向上的一个固定加速度,而第31行代码则是火花在x轴坐标方向上的一个-5~5之间的随机加速度值。

(4)按Ctrl+Enter组合键发布程序。

来源:https://www.tulaoshi.com/n/20160216/1572571.html

延伸阅读
本例通过程序读取外部MP3文件,通过声音对象的控制来制作播放器,这种方式适用于Flash交互开发时使用。 本例思路: 1 导入素材制作按钮。 2 制作示波图模拟动画。 3 编写程序。 实例步骤: (1) 先导入按钮素材,使用菜单文件/导入/导入到舞台,如图所示。 提示:图片在光盘中,光盘目录/案例源文件/第十六章/...
演示:     本教程用BitmapSphereBasic类,创建改变旋转方向和移动贴图的实例。 1、新建AS3.0 flv文档,文档属性,500*500像素,帧频60fps ,存盘。如图1: 2、导入制作球体和背景的图片到库中,右键单击球体贴图图片,命名为Earth。如图2: 3、创建名为dotClip的影片剪辑,图层1绘制15*15...
标签: flash教程
本文由 中国 云飘飘 原创,转载请保留此信息! [next] 运用的知识点:用时间轴特效制作百叶窗             滤镜制作边框效果             混合模式制作图片色彩变幻的效果      ...
标签: FLASH flash教程
本文由 云飘飘 原创,转载请保留此信息! [友情提示]看不到动画效果的朋友请去这里观看:http://bbs./viewthread.php?tid=130751 [1] 200806/12899_2.html'>[2] 200806/12899_3.html'>[3] 200806/12899_2.html'>下一页 运用的知识点:用时间轴特效制作百叶窗       &n...
先看看效果图 1、新建文档(Ctrl+N),文档大小A3(297*420mm)。 2、使用矩形工具(M)绘制一个矩形,大小同画板大小,填充黑色。选中矩形,执行对象菜单锁定所选对象(Ctrl+2),这将锁定所选对象,使你之后不能再选中编辑它。 译者注:可以直接点子图层(黑色矩形)前的锁定/解锁图标(眼睛右边的小方块)来锁定对象。 使用钢笔工具(P),绘制...

经验教程

75

收藏

28
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部