征集网锐志网络淘途找素材上91
创意在线首页
平面设计交互设计CG动漫工业设计建筑环境数码影像创意搜
 首页大赛征集资讯教程画廊访谈作品集创企同盟设计招聘人才专区竞赛台专题论吧 找素材看酷站设计网址库
教程网 Illustrator、Photoshop、CoreaDreaw、AI教程、PS教程
当前位置:首页 > 教程 > Flash > 正文
AS3.0实例教程:踪迹效果
作者: 来源:中国教程网论坛 发表时间:2010-4-14 13:16:39 浏览:

先看效果:
http://www.68design.net/download/201003/20100329154748533.swf

详细代码:

/**

*Flash CS4 ActionScript 3.0

*这里呈现粒子基本技术的一个动画实例。当它到处移动时,运动的粒子在它后面

*留下了一个彗星的痕迹。这是因为粒子正在绘制到从不被抹掉的一个位图。

*滤镜应用到位图导致旧的图像慢慢地褪色离开,新的图像在顶端上绘制。

*/

package {

        import flash.display.Sprite;

        import flash.display.Bitmap;

        import flash.display.BitmapData;

        import flash.events.Event;

        import flash.geom.Point;

        import flash.filters.BlurFilter;

        import flash.geom.ColorTransform;

        import flash.display.Shape;

    

        [SWF(width = "420", height = "320", backgroundColor = "0xffffff", frameRate = "30")];

        public class Main extends Sprite {

                private var particle:Sprite;

                private var bitmapData:BitmapData;

                private var bitmap:Bitmap;

                private var velX:Number;

                private var velY:Number;

                private var radius:Number;

                private var displayWidth:Number;

                private var displayHeight:Number;

                private var display:Sprite;

                private var origin:Point;

                private var blur:BlurFilter;

                private var colorTransform1:ColorTransform;

                private var colorTransform2:ColorTransform;

                private var randomAccel:Number;

                private var maxVelX:Number;

                private var maxVelY:Number;

                private var margin:Number;

                public function Main():void {

                        init();

                }

                private function init():void {

                        radius = 5;

                        margin = radius + 2;



                        particle = new Sprite();

                        particle.graphics.lineStyle(2,0xffffff);

                        particle.graphics.beginFill(0xffffff,0.5);

                        particle.graphics.drawEllipse(-radius,-radius,2 * radius,2 * radius);

                        particle.graphics.endFill();

                        //设定一个开始的位置

                        particle.x = 50;

                        particle.y = 40;

                        display = new Sprite();

                        display.addChild(particle);



                        //运动的参数

                        velX = 1;

                        velY = 1.3;

                        randomAccel = 0.3;

                        maxVelX = 6;

                        maxVelY = 6;



                        //位图的大小:

                        displayWidth = 400;

                        displayHeight = 300;



                        //见到的位图:

                        bitmapData = new BitmapData(displayWidth,displayHeight,true,0x00000000);

                        bitmap = new Bitmap(bitmapData);



                        //绘制边框

                        var frame:Shape = new Shape();

                        frame.graphics.lineStyle(1,0x333333);

                        frame.graphics.drawRect(-0.5,-0.5,displayWidth + 1,displayHeight + 1);



                        //BlurFilter滤镜

                        blur = new BlurFilter(4,4);

                        colorTransform1 = new ColorTransform(0.999,0.95,0.9,1);

                        origin = new Point(0,0);



                        /*

                        这里是颜色变换改为那一个在上面。它应用透明度衰减和颜色变化。改变代                                                     码在 onEnter 结束的时候动作,以便改为使用 colorTransform 2 。

                        */

                        colorTransform2 = new ColorTransform(0.999,0.95,0.9,0.999);



                        bitmap.x = frame.x = 10;

                        bitmap.y = frame.y = 10;

                        this.addChild(bitmap);

                        this.addChild(frame);



                        this.addEventListener(Event.ENTER_FRAME, onEnter);





                }

                function onEnter(evt:Event):void {

        

            //随机的加速。

            velX += randomAccel*(2 * Math.random()-1);

            velY += randomAccel*(2 * Math.random()-1);

        

            //

            if (velX > maxVelX) {

                   velX = maxVelX;

             }

        

             else if (velX < -maxVelX){

                   velX = -maxVelX;

             }

              if (velY > maxVelY) {

                    velY = maxVelY;

             }

            else if (velY < -maxVelY) {

                velY = -maxVelY;

            }

        

            // 移动粒子以及反弹粒子

            

            particle.x += velX;

            if (particle.x < margin) {

                particle.x = margin;

                velX *= -1;

            }

            else if (particle.x > displayWidth - margin) {

                  particle.x = displayWidth - margin;

                    velX *= -1;

            }

        

            particle.y += velY;

              if (particle.y < margin) {

                     particle.y = margin;

                     velY *= -1;

            }

            else if (particle.y > displayHeight - margin) {

                particle.y = displayHeight - margin;

                velY *= -1;

            }

        

            //在绘制新的图像之前应用滤镜到旧的图像。

            //粒子留下的踪迹从不抹掉,它仅仅逐渐地褪色离开。

            bitmapData.applyFilter(bitmapData,bitmapData.rect,origin,blur);

            bitmapData.colorTransform(bitmapData.rect, colorTransform1);

            bitmapData.draw(display);

        

        }

    }

}

在线编辑:wlx
本文链接:


推荐阅读:
·2021第十五届“创意中国”设计大奖 征稿章程
·2021第七届“学院派奖”全国艺术与设计大赛征集公告
·青春唯美插画培训网络远程班正在招生
·第八届中国高等院校设计作品大赛启动
·第十二届中国高校美术作品学年展获奖名单公布
·2021第七届“学院派奖”全国艺术与设计大赛征集公告
·第六届“包豪斯奖”国际设计大赛获奖名单揭晓
免责声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息。对本文有异议,请联络本站!
转载要求:文章作者及来源信息必需保留。转载之图片、文件请不要盗链本站地址,且不准打上各自站点的水印!

近期推荐报道 返回首页更多精彩等着你!

Photoshop| Photoshop快速调出情侣图片柔美的插画艺术| 绝望的小熊—美国插画师Luke
网页设计| 波兰Tiquet网站设计作品欣赏插画艺术| Nanami Cowdroy灵动黑白插画
Photoshop| Photoshop调出美女图片绚丽的橙红HTML/CSS| 实现DIV透明而里面的文字不透明
平面设计| 世界杯之平面广告欣赏插画艺术| Alberto Cerrite&ntil
平面设计| Havaianas人字拖最新平面广告系列网页设计| 英国madefavourite简洁细腻型
关于本站 | 联系方式 | 商业服务 | 合作伙伴 | 站点地图 | 免责声明 | 版权声明 | 在线投稿