分类: 教程预览模式: 普通 | 列表

as.30加载swf轮回切换

stage.showDefaultContextMenu = false;
stage.scaleMode = "noScale";
/*
变量声明区域
------------------------------------------------------------*/

/*mc索引编号*/
var mcIndex:int = 0;
var items_xml:XML;

查看更多...

分类:教程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 300

画五边形代码

Flash动画


//画五边形代码
import flash.display.Sprite;
import flash.display.Stage;
import fl.transitions.Tween;
import fl.transitions.easing.Elastic;
import fl.transitions.TweenEvent;

查看更多...

分类:教程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 211

AS3.0 LOADING

原代码说明:
1帧:
/*********************************
AS3.0 LOADING CODE
**********************************/
stop();
stage.scaleMode=StageScaleMode.NO_SCALE;
//设置舞台属性不跟随播放器大小而改变
stage.showDefaultContextMenu=false;
//屏蔽右键菜单
stage.frameRate=30;
//设置帧频为30
var stageW=stage.stageWidth;
var stageH=stage.stageHeight;
//取得舞台宽和高
var loadclip:MovieClip=new MovieClip();
//创建LOADING MC loadclip
this.addChild(loadclip)
//添加loadclip到舞台
var txt=new TextField();
//创建文本文件 txt
txt.autoSize=TextFieldAutoSize.CENTER;
//文本文件自适应大小并且居中显示
txt.text="AS3.0 Loading...";
txt.textColor=0x000000;
//设置文本颜色
txt.selectable=false;
//文本设置为不可选
txt.x=stageW/2-txt.width/2;
txt.y=stageH/2-txt.height/2;
//设置本文件放置于舞台中央
loadclip.addChild(txt);
//将文本实例txt添加到loadclip

var stgb=new Sprite();
stgb.graphics.lineStyle(1,0x000000,1);
stgb.graphics.beginFill(0xff0000,.5);
//采用单色填充,红色透明50%(.5)
stgb.graphics.drawRect(0,0,200,10);
stgb.graphics.endFill();
stgb.x=stageW/2-stgb.width/2;
stgb.y=txt.y+txt.height+5;
loadclip.addChild(stgb)
//绘制进度条底色并且添加到loadclip

var stg=new Sprite();
stg.graphics.lineStyle(1,0x000000,.5);
stg.graphics.beginGradientFill(GradientType.LINEAR,[0xff0000,0xffff00],[100,100],[0,255]);
//采用渐变填充 红--黄
stg.graphics.drawRect(0,0,200,10);
stg.graphics.endFill();
stg.x=stageW/2-stg.width/2;
stg.y=txt.y+txt.height+5;
loadclip.addChild(stg)
//绘制进度条并且添加到loadclip

this.loaderInfo.addEventListener(ProgressEvent.PROGRESS,loading);
//添加进度监听
this.loaderInfo.addEventListener(Event.COMPLETE,loaded);
//添加进度完成监听
function loading(eve) {
     var loadpre:int=eve.bytesLoaded/eve.bytesTotal*100;
     txt.text="影片载入"+loadpre+" %";
     stg.scaleX=loadpre/100;
}
//显示进度载入百分比-----
function loaded(eve) {
     txt.text="影片载入完毕!";
     if (framesLoaded == totalFrames) {
           removeChild(this.getChildAt(0));
           nextFrame();
     }
}

分类:教程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 221

AS3.0打造文档类纯代码时钟

 

package {

    import flash.display.Bitmap;

    import flash.display.BitmapData;

    import flash.display.MovieClip;

    import flash.display.Sprite;

    import flash.events.Event;

    import flash.text.TextField;

    import flash.text.TextFormat;

    import flash.text.TextFieldType;

    import flash.text.FontType;

    import flash.text.TextFormatAlign;



    [SWF(width = "465", height = "465", backgroundColor = "0xffffff", frameRate = "30")]



    public class NoisyClock extends Sprite {

        private const STAGE_WIDTH:Number = stage.stageWidth;

        private const STAGE_HEIGHT:Number = stage.stageHeight;

        private const STAGE_CENTER_X:Number = stage.stageWidth / 2;

        private const STAGE_CENTER_Y:Number = stage.stageHeight / 2;

        private const RADIAN_TO_DEGREE:Number = 180 / Math.PI;

        private const DEGREE_TO_RADIAN:Number = Math.PI / 180;

        private var clockMC:MovieClip

        private var second_hand:Sprite;

        private var minute_hand:Sprite;

        private var hour_hand:Sprite;

        private var center_pin:Sprite;

        private var frame:Sprite;

        private var frame_shadow:Sprite;

        private var base_color:uint = 0x000000;

        private var second_hand_shadow:Sprite;

        private var minute_hand_shadow:Sprite;

        private var hour_hand_shadow:Sprite;

        private var center_pin_shadow:Sprite;

        private var rSeconds:Number;

        private var rMinutes:Number;

        private var rHours:Number;

        private var onmArray:Array = [];



        public function NoisyClock() {

            init();

        }

        private function init():void {

            clock();

            var now_date:Date = new Date();

            second_hand.rotation = now_date.seconds * 6;

            second_hand_shadow.rotation = now_date.seconds * 6;

            rSeconds = now_date.seconds;

            minute_hand.rotation = now_date.minutes * 6;

            minute_hand_shadow.rotation = now_date.minutes * 6;

            rMinutes = now_date.minutes;

            hour_hand.rotation = now_date.hours * 30 + now_date.minutes/2;

            hour_hand_shadow.rotation = now_date.hours * 30 + now_date.minutes / 2;

            rHours = now_date.hours;

            addEventListener(Event.ENTER_FRAME, main)

        }

        private function main(eventObject:Event):void {

            var now_date:Date = new Date();

            if ( rSeconds != now_date.seconds ) {

                second_hand.rotation = now_date.seconds * 6;

                second_hand_shadow.rotation = now_date.seconds * 6;

                rSeconds = now_date.seconds;

                

            }

            if ( rSeconds == 1 && rMinutes == 0 && rHours != now_date.hours ) {

                clockMC.x = Math.cos( ( hour_hand.rotation + 90 ) * DEGREE_TO_RADIAN ) * 480 + STAGE_CENTER_X;

                clockMC.y = Math.sin( ( hour_hand.rotation + 90 ) * DEGREE_TO_RADIAN ) * 480 + STAGE_CENTER_Y;

                clockMC.scaleX = clockMC.scaleY = 2.8;

            } else if ( rSeconds == 2 && rMinutes == 0 && rHours != now_date.hours ) {

                rHours = now_date.hours;

               

            } else if ( rSeconds > 58 ) {

                clockMC.x = Math.cos( ( minute_hand.rotation + 90 ) * DEGREE_TO_RADIAN ) * 280 + STAGE_CENTER_X;

                clockMC.y = Math.sin( ( minute_hand.rotation + 90 ) * DEGREE_TO_RADIAN ) * 280 + STAGE_CENTER_Y;

                clockMC.scaleX = clockMC.scaleY = 2.0;

            } else if( rSeconds == 0 && rMinutes != now_date.minutes ) {

                minute_hand.rotation = now_date.minutes * 6;

                minute_hand_shadow.rotation = now_date.minutes * 6;

                hour_hand.rotation = now_date.hours * 30 + now_date.minutes/2;

                hour_hand_shadow.rotation = now_date.hours * 30 + now_date.minutes / 2;

                rMinutes = now_date.minutes;

               

            } else if( rSeconds > 2) {

                clockMC.x = STAGE_CENTER_X;

                clockMC.y = STAGE_CENTER_Y;

                clockMC.scaleX = clockMC.scaleY = 1.0;

            }



            var i:int = onmArray.length

            while ( i--) {

                var t = onmArray[ i ]

                t.vy += 0.10;

                t.x += t.vx

                t.y += t.vy;

                t.rotation += t.rot;

                if ( t.y > STAGE_HEIGHT + 0 ) {

                    onmArray.splice(i, 1);

                    clockMC.removeChild( t );

                }

                if ( Math.sqrt(t.x * t.x + t.y * t.y ) > 185 && t.reactFlag == false ) {

                    t.scaleX = t.scaleY *= 1.4; 

                    t.reactFlag = true;

                    t.rot *= -1;

                    t.vy *= -0.4;

                }

            }

        }

       

        private function clock():void {

            var st:ScreenTone = new ScreenTone()



            clockMC = new MovieClip();

            addChild( clockMC );

            clockMC.x = STAGE_CENTER_X;

            clockMC.y = STAGE_CENTER_Y;



            frame_shadow = new Sprite();

            frame_shadow.graphics.beginBitmapFill( st.st1 );

            frame_shadow.graphics.lineStyle( 1, 0xffffff );

            frame_shadow.graphics.drawCircle( 0, 0, 220);

            frame_shadow.graphics.drawCircle( 0, 0, 190);

            frame_shadow.graphics.endFill();

            frame_shadow.x = 8;

            frame_shadow.y = 8;

            clockMC.addChild( frame_shadow );



            frame = new Sprite();

            frame.graphics.beginFill( 0xffffff );

            frame.graphics.lineStyle( 1, base_color );

            frame.graphics.drawCircle( 0, 0, 220);

            frame.graphics.drawCircle( 0, 0, 190);

            frame.graphics.endFill();

            frame.x = 0;

            frame.y = 0;

            clockMC.addChild( frame );

            //文本

            var tf:TextFormat = new TextFormat();

            tf.size = 38;

            tf.align = TextFormatAlign.CENTER;

            tf.bold = true



            var txtArray:Array = []



            for ( var i:uint = 1; i < 13; i++ ) {

                var txt = new TextField();

                txt.width = 42;

                txt.height = 42;



                var radius:int = 160;

                var txtPos:Number = ( i * 30 + 180 ) * DEGREE_TO_RADIAN;

                txt.x = Math.cos( txtPos ) * 0 - Math.sin( txtPos ) * radius - txt.width / 2;

                txt.y = Math.cos( txtPos ) * radius + Math.sin( txtPos ) * 0 - txt.height / 2;



                txt.type = TextFieldType.DYNAMIC;

                txt.border = false;

                txt.background = false;



                txt.textColor = 0x666666;

                txt.defaultTextFormat = tf;



                txt.text = i;

                clockMC.addChild( txt );

                txtArray.push( txt );

            }

            //时针

            hour_hand_shadow = new Sprite();

            hour_hand_shadow.graphics.beginBitmapFill( st.st1 );

            hour_hand_shadow.graphics.lineStyle( 1, 0xffffff );

            hour_hand_shadow.graphics.drawRect( -4, 0, 8, -100 );

            hour_hand_shadow.graphics.endFill();

            hour_hand_shadow.x = 4;

            hour_hand_shadow.y = 4;

            clockMC.addChild( hour_hand_shadow );

            //分针

            minute_hand_shadow = new Sprite();

            minute_hand_shadow.graphics.beginBitmapFill( st.st1 );

            minute_hand_shadow.graphics.lineStyle( 1, 0xffffff );

            minute_hand_shadow.graphics.drawRect( -2.5, 0, 5, -150 );

            minute_hand_shadow.graphics.endFill();

            minute_hand_shadow.x = 4;

            minute_hand_shadow.y = 4;

            clockMC.addChild( minute_hand_shadow );



            hour_hand = new Sprite();

            hour_hand.graphics.beginFill( 0x000000 );

            hour_hand.graphics.lineStyle( 1, base_color );

            hour_hand.graphics.drawRect( -4, 0, 8, -100 );

            hour_hand.graphics.endFill();

            hour_hand.x = 0;

            hour_hand.y = 0;

            clockMC.addChild( hour_hand );



            minute_hand = new Sprite();

            minute_hand.graphics.beginFill( 0x000000 );

            minute_hand.graphics.lineStyle( 1, base_color );

            minute_hand.graphics.drawRect( -2.5, 0, 5, -150 );

            minute_hand.graphics.endFill();

            minute_hand.x = 0;

            minute_hand.y = 0;

            clockMC.addChild( minute_hand );



            second_hand_shadow = new Sprite();

            second_hand_shadow.graphics.lineStyle( 4, base_color, 0.3 );

            second_hand_shadow.graphics.moveTo( 0, 30 );

            second_hand_shadow.graphics.lineTo( 0, -156 );

            second_hand_shadow.x = 4;

            second_hand_shadow.y = 4;

            clockMC.addChild( second_hand_shadow );



            second_hand = new Sprite();

            second_hand.graphics.lineStyle( 2, 0xff0000 );

            second_hand.graphics.moveTo( 0, 30 );

            second_hand.graphics.lineTo( 0, -156 );

            second_hand.x = 0;

            second_hand.y = 0;

            clockMC.addChild( second_hand );



            center_pin_shadow = new Sprite();

            center_pin_shadow.graphics.beginFill( 0x000000 );

            center_pin_shadow.graphics.lineStyle( 1, 0xffffff );

            center_pin_shadow.graphics.drawCircle( 0, 0, 8 );

            center_pin_shadow.graphics.endFill();

            center_pin_shadow.x = 4;

            center_pin_shadow.y = 4;

            center_pin_shadow.alpha = 0.3;

            clockMC.addChild( center_pin_shadow );



            center_pin = new Sprite();

            center_pin.graphics.beginFill( 0xff0000 );

            center_pin.graphics.lineStyle( 1, 0xff0000 );

            center_pin.graphics.drawCircle( 0, 0, 8 );

            center_pin.graphics.endFill();

            center_pin.x = 0;

            center_pin.y = 0;

            clockMC.addChild( center_pin );

        }

    }

}



import flash.display.Sprite;

import flash.display.BitmapData;

class ScreenTone extends Sprite

{

    public var st0:BitmapData;

    public var st1:BitmapData;

    public var st2:BitmapData;

    public function ScreenTone():void {

        var base_color:uint = 0x000000;

        st0 = new BitmapData( 4, 4, false, 0x00ffffff);

        var ptn =

            [[1, 0, 0, 0],

            [0, 0, 0, 0],

            [0, 0, 1, 0],

            [0, 0, 0, 0]]

        var bitmapW:int = ptn[0].length;

        var bitmapH:int = ptn.length;

        for (var yy:int = 0; yy < bitmapH; yy++) {

            for (var xx:int = 0; xx < bitmapW; xx++) {

                if ( ptn[yy][xx] == 1 ) {

                    st0.setPixel32( xx, yy, base_color );

                }

            }

        }

        st1 = new BitmapData( 2, 2, false, 0x00ffffff);

        ptn =

            [[1, 0],

            [0, 1]]

        bitmapW = ptn[0].length;

        bitmapH = ptn.length;

        for (yy = 0; yy < bitmapH; yy++) {

            for (xx = 0; xx < bitmapW; xx++) {

                if ( ptn[yy][xx] == 1 ) {

                    st1.setPixel32( xx, yy, base_color );

                }

            }

        }

        st2 = new BitmapData( 6, 6, false, 0x00ffffff);

        ptn =

            [[1, 0, 1, 0, 0, 0],

            [0, 1, 0, 0, 0, 0],

            [1, 0, 1, 0, 0, 0],

            [0, 0, 0, 1, 0, 1],

            [0, 0, 0, 0, 1, 0],

            [0, 0, 0, 1, 0, 1]]

        bitmapW = ptn[0].length;

        bitmapH = ptn.length;

        for (yy = 0; yy < bitmapH; yy++) {

            for (xx = 0; xx < bitmapW; xx++) {

                if ( ptn[yy][xx] == 1 ) {

                    st2.setPixel32( xx, yy, base_color );

                }

            }

        }

    }

}

分类:教程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 194

AS3.0实现鼠标指针置换效果

AS3.0实现鼠标指针置换效果

作者:cao4811   类型:原创   来源:中国教程网论坛

 
  右键点击置换鼠标指针:


详细代码:
package 

{

        import flash.display.Bitmap;

        import flash.display.BitmapData;

        import flash.display.PixelSnapping;

        import flash.display.Sprite;

        import flash.events.Event;

        import flash.events.MouseEvent;

        import flash.geom.Matrix;

        import flash.text.TextField;

        import flash.text.TextFormat;

        import flash.ui.Mouse;

        import flash.geom.ColorTransform;



        public class Main extends Sprite 

        {

                private var _textField:TextField;

                private var _bitmapData:BitmapData;

                private var _bitmap:Bitmap;

                private var _colorTransform:ColorTransform = new ColorTransform(1, 1, 1, 1, -0x5, -0x5, -



0x5);

                private var _character:Array = ["★", "●", "▲", "◆", "*", "@", "+", "?","FLASH","中国教程



网"];

                public function Main():void 

                {

                        setupScreen();

                        

                        _textField = new TextField();

                        _textField.defaultTextFormat = new TextFormat("_sans", 36, 0xFFFFFF);

                        _textField.text = _character[0];

                        _textField.selectable = false;

                        _textField.autoSize = "left";

                        this.addChild(_textField);

                        

                        Mouse.hide();

                        stage.addEventListener(Event.ENTER_FRAME, onEnter);

                        stage.addEventListener(MouseEvent.CLICK, onClick);

                }

                private function setupScreen():void {

                        _bitmapData = new BitmapData(465, 465, false, 0x000000);

                        _bitmap = new Bitmap(_bitmapData, PixelSnapping.NEVER,true);

                        this.addChild(_bitmap);

                }

                private function onClick(event:MouseEvent):void {

                        _textField.text = _character[Math.floor(Math.random() * _character.length)];

                }

                

                private function onEnter(event:Event):void {

                        _textField.x = stage.mouseX - _textField.width / 2;

                        _textField.y = stage.mouseY - _textField.height / 2;

                        

                        _bitmapData.draw(this,new Matrix(0.99,0,0,0.99));

                        _colorTransform.redMultiplier = stage.mouseX / 465;

                        _colorTransform.greenMultiplier = stage.mouseY / 465;

                        _bitmapData.colorTransform(_bitmapData.rect, _colorTransform);

                }

        }

}
分类:教程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 252

AS3实例教程:制作横向滑动的导航菜单

AS3实例教程:制作横向滑动的导航菜单

作者:simplef   类型:编译   来源:HiZhen.cn

 
  

在这个快速教程中你将学会如何使用AS3的补间类创建一个横向滑动条栏菜单,一个非常棒的导航条。

 

最终效果预览:


 

第一步:创建文本新建一个600*300px的Flash Actionscript3.0文件首先,选择文本工具并输入你的导航菜单文字,在这个教程中,我用的是Button1|Button2|Button3|Button4,字体选择”Arista Light”,大小为30点,颜色选择#999999.然后进入对齐面板(如果你看不到它的话就点击窗口>对齐),使文本相对于舞台水平中齐,垂直中齐。


 

第二步:画一个按钮,将当前的图层重新命名为”文本”并将其锁定,这样就不会误将其修改。然后创建一个名为”按钮”的新图层。选择矩形工具并在”button1″的边缘外画一个矩形(任意颜色)。这将是你菜单条中可以点击的区域。

第三步:完善按钮选中你刚刚画的矩形,执行修改>转化为元件,并将其命名为”按钮”。确保注册点在中间(你可能还要使用对齐面板),然后,在属性面板中,将其实例名称命为”button1″并将alpha值设为0%。


 

第四步:添加更多的按钮复制你的”无形”的按钮,并将其粘贴到其它三个按钮中,并分别将其实例名称命为”button2,button3,button4″使用任意变形工具将它们放大或缩小,使它们正好在菜单条的外框,且每个之间没有间隔。

第五步:画条栏(bar)还是选择矩形工具,将矩形边角半径设为5pixels并画一个高为4pixels,宽和第一个按钮差不多的矩形。把它放在第一个按钮的下面,点击修改>转化为元件并将其命名为bar。确保注册点在中间。将它的实例名称命为”bar”,且和那些按钮一样alpha值为0%。将”按钮”图层锁定,并创建一个新的图层命名为”动作”也将这一层锁定。现在在你新建的动作图层上的第一帧上单击右键,并点击动作。


 

第六步:输入类

//为补间导入所需的类

import fl.transitions.Tween;

import fl.transitions.easing.*;

我们需要使用这些代码和补间类让条栏动起来,所以将这些导入。这个”缓动”类也是必须的,这样我们就可以明确所使用的补间动作类型。

第七步:定义变量

// 为条栏的x坐标定义补间变量

var barX:Tween;

// 为条栏的淡入定义补间变量

var barAlphaIn:Tween;

查看更多...

分类:教程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 190

FIF小组ASP互动视频教程

FIF小组ASP互动视频教程
序言
Flash动画

2.2 构建一个ASP运行环境
Flash动画

查看更多...

分类:教程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 57

EssentialActionScript3.0

EssentialActionScript3.0
分类:教程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 0