论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

如何用Flash as3实现日全食的过程

文章类别:Flash AS | 发表日期:2009-8-3 12:09:06

如何用Flash as3实现日全食的过程

今天在看《Essential ActionScript 3.0》,第26章一道文本溶解动画时,跟今天的日全食有点相似,由此想写如题的程序。
不过只是停留在想法,还要努力。
希望大家一起探讨具体方法。
复制内容到剪贴板代码:
package
{
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Sprite;
    import flash.events.TimerEvent;
    import flash.geom.Point;
    import flash.geom.Rectangle;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.utils.Timer;
    public class DissolveText extends Sprite
    {
        private var randomSeed:int = Math.floor(Math.random() * int.MAX_VALUE);
        private var destPoint:Point = new Point(0, 0);
        private var numberOfPixels:int = 10;
        private var destColor:uint = 0xFF000000;
       
        private var bitmapData:BitmapData;
        private var t:Timer;
       
        public function DissolveText()
        {
            createBitmap();
            t = new Timer(100);
            t.addEventListener(TimerEvent.TIMER, timerListener);
            t.start();
        }
       
        private function timerListener(e:TimerEvent):void{
            dissolve();
           
        }
       
        private function createBitmap():void{
            var txt:TextField = new TextField();
            txt.text = "Essential ActionScript 3.0";
            txt.autoSize = TextFieldAutoSize.LEFT;
            txt.textColor = 0xFFFFFF;
           
            bitmapData = new BitmapData(txt.width, txt.height, false, destColor);
            bitmapData.draw(txt);
           
            var bitmap:Bitmap = new Bitmap(bitmapData);
            addChild(bitmap);
        }
        public function dissolve():void{
            randomSeed = bitmapData.pixelDissolve(bitmapData, bitmapData.rect, destPoint, randomSeed, numberOfPixels, destColor);
            var colorRegion:Rectangle = bitmapData.getColorBoundsRect(0xFFFFFFFF, destColor, false);
            if(colorRegion.width == 0 && colorRegion.height == 0){
                createBitmap();
                t.start();
            }
        }
    }
}

视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058