关于flash的总结

1、书写规范
    package{
        //导包
        public class XXX extends XXXx{
            public function XXX(){
                //构造方法
            }
        }
    }
    继承的Sprite和MovieClip的区别
    Sprite:是不使用时间轴的用户界面(UI)组件的逻辑基类。
    MovieClip:MovieClip 类从以下类继承而来:Sprite、DisplayObjectContainer、InteractiveObject、DisplayObject 和 EventDispatcher。

2、导包
    类被调用时,如果不导包,则会报出这个类的异常
    
3、关于按钮的监听
    按钮.addEventListener(MouseEvent.动作(按下,抬起),方法);
    private function 方法(event:MouseEvent):void{}
    
4、开放内部接口(外部可以调用该接口)
    ExternalInterface.addCallBack("外部调用",XXXX);
    private function XXXX(参数){}
    
5、开放外部接口(内部调用外部的接口)
    ExternalInterface.call("内部调用","参数");
    
关键:::6、fla文件与as文件的关联
    fla中的部件的名称要与as类对应上,在发布设置的flash目录下的脚本边上的设置上将fla文件与as文件关联上
    
6、关键帧上的帧动画
    stop();
    startButton.addEventListener(MouseEvent.MOUSE_DOWN,startedMouseDown);
    function startedMouseDown(event:MouseEvent):void {
                ExternalInterface.call("offAndOn","on");
                nextFrame();
    }这个是start按钮上的动画
    stop();
    buttonStop.addEventListener(MouseEvent.MOUSE_DOWN,stopedMouseDown);
    function stopedMouseDown(event:MouseEvent):void {
                ExternalInterface.call("offAndOn","off");
                prevFrame();
    }这个是stop按钮上的帧动画
    
7、将补间动画和fla文件分离,使之编程fla文件和as文件的结合体
    当一个补间动画是做好的fla文件时
    可以在这个补间动画的帧动画上选上该补间动画,右键'将该动画复制为ActionScript3.0脚本'
    import fl.motion.Animator;
    var teset_xml:XML = <Motion duration="59" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*">
        <source>
            <Source frameRate="24" x="285.6" y="526.55" scaleX="1" scaleY="1" rotation="0" elementType="graphic" symbolName="红柱">
                <dimensions>
                    <geom:Rectangle left="-8" top="-2.95" width="68.65" height="315"/>
                </dimensions>
                <transformationPoint>
                    <geom:Point x="0.5338674435542606" y="0.4992063492063492"/>
                </transformationPoint>
            </Source>
        </source>

        <Keyframe index="0" tweenSnap="true" tweenSync="true">
            <tweens>
                <SimpleEase ease="0"/>
            </tweens>
        </Keyframe>

        <Keyframe index="58" tweenSync="true" firstFrame="58" y="-316.99999999999994"/>
    </Motion>;

    var teset_animator:Animator = new Animator(teset_xml, teset);
    teset_animator.play();
    
    可以这样写
    package{
        import flash.display.MovieClip;
        public class XXX{
            private var teset_xml:XMl;
            private var teset_xml_a:Animator;
            public function XXX(){
                teset_xml = <Motion duration="59" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*">
                <source>
                    <Source frameRate="24" x="285.6" y="526.55" scaleX="1" scaleY="1" rotation="0" elementType="graphic" symbolName="红柱">
                        <dimensions>
                            <geom:Rectangle left="-8" top="-2.95" width="68.65" height="315"/>
                        </dimensions>
                        <transformationPoint>
                            <geom:Point x="0.5338674435542606" y="0.4992063492063492"/>
                        </transformationPoint>
                    </Source>
                </source>

                <Keyframe index="0" tweenSnap="true" tweenSync="true">
                    <tweens>
                        <SimpleEase ease="0"/>
                    </tweens>
                </Keyframe>

                <Keyframe index="58" tweenSync="true" firstFrame="58" y="-316.99999999999994"/>
                </Motion>;
                teset_xml_a = new Animator(teset_xml, teset);
                teset_xml_a.play();
            }

        }
    }

8、监听帧动画
    当运动到某一帧的时候在该帧上做监听
        代码dispatchEvent(new Event("redText"));
    as类中的代码
        this.addEventListener("redText",redText);
        private function redText(e:Event):void {
            peak.y = 386.5 - (Number(redHeight)*315)/(70*2);
            peak.text = redHeight;}

    利用该方法就可以将动画在帧上分开,可以达到在中间的某一帧上显示动画,而不是跳到某一帧。

9、addFrameScript

  this.addFrameScript(帧数,方法)

这个方法主要是在第几帧上添加什么方法。

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值