<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA & FLEX

    一個分享java和flex開發經驗的空間

       :: 首頁 ::  :: 聯系 ::  :: 管理 ::
      26 隨筆 :: 2 文章 :: 44 評論 :: 0 Trackbacks

    Flex特效初探

    一個擴展后的LinkButton

    當鼠標移動到LinkButton上的時候,在LinkButton上會出現一個向上移動的Label,并且會有一個振動的效果,當鼠標移走的時候,label消失,如圖所示。
    如何實現這個效果呢,下面是源碼
    演示下載地址:http://downloadnode.com/download.php?file=ea1d97c5e33d62ee4c470fb91b66a764


     

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
        
    <mx:Style>
        Label{
        fontSize: 14;
        }
        
    </mx:Style>
        
    <mx:Script>
        
    <![CDATA[
        import mx.events.EffectEvent;
        import mx.controls.Label;
        import mx.effects.easing.*;
        import mx.effects.Zoom;
        import mx.controls.Alert;
        public var testTry:Boolean = false;
        public var testTx:Boolean = false;
        public var Mylabelabel;
        public function LabelMove():void{
            movePauseMove.play();
        }
        internal function zoomMouseBig(targetStrinkButton):void{
            if (testTry == false) {
                Mylabel = new Label();
                Mylabel.id = "Mylb";
                Mylabel.text = "權限管理";
                //Alert.show((targetStr.x/2).toString());
                Mylabel.x = targetStr.x + (targetStr.width/4);
                Mylabel.y = targetStr.y-targetStr.height/2+5;
                Mylabel.fontContext = 14;
                var fropShadowFilter = new DropShadowFilter(5,30,0xFFFFFF,.8);
                var myFilters:Array = new Array();
                myFilters.push(f);
                Mylabel.filters = myFilters;
                Mylabel.addEventListener(MouseEvent.MOUSE_OUT,txTry1);
                Mylabel.text = "權限管理";
                Mylabel.visible = true;
                movePauseMove.target = Mylabel;
                this.addChild(Mylabel);
                movePauseMove.play();
                //movePauseMove.addEventListener(EffectEvent.EFFECT_END,changeTry);
                testTry = true;
                //Alert.show(targetStr.scaleX.toString());
                //創建Zoom對象
                var newZoom:Zoom = new Zoom();
                newZoom.zoomHeightTo=1.1;
                newZoom.zoomWidthTo=1.1;
                //指定作用對象
                //Alert.show(targetStr);
                newZoom.target = targetStr;
                //設置播放時長
                newZoom.duration = 300;
                //開始播放動畫
                newZoom.play();
                newZoom.addEventListener(EffectEvent.EFFECT_END, txTry1);
            }
        }
        internal function zoomMouseNormal(targetStr:Object):void{
            if (testTx == false) {
                //創建Zoom對象
                var newZoom:Zoom = new Zoom();
                newZoom.zoomHeightTo=1;
                newZoom.zoomWidthTo=1;
                //指定作用對象
                newZoom.target = targetStr;
                //設置播放時長
                newZoom.duration = 300;
                //開始播放動畫
                newZoom.play();
                Mylabel.parent.removeChild(Mylabel);
                testTx = true;
                testTry = false;
            }
        }
        internal function txTry1(env:Event):void {
        testTx = false;
        }
        
    ]]>
        
    </mx:Script>
    <!-- 
    <mx:Sequence id="movePauseMove" target="{LinkBtTry}">
    <mx:Move xBy="150" duration="2000" easingFunction="Bounce.easeOut"/>
    <mxause duration="2000"/>
    <mx:Move xBy="-150" duration="2000" easingFunction="Bounce.easeIn"/>
    </mx:Sequence> 
    -->
    <mx:Move id="movePauseMove" yBy="-20" duration="1000" easingFunction="Bounce.easeOut"/>
    <mx:Move id="movePauseMoveBack" yBy="-30" duration="2000" easingFunction="Bounce.easeOut"/>
    <mx:LinkButton id="LinkBtTry" x="169" y="169" label="" height="42" width="172" 
    icon
    ="@Embed(source='image/Button1.gif')" mouseOver="zoomMouseBig(this.LinkBtTry)"
    mouseOut
    ="zoomMouseNormal(this.LinkBtTry)"
    />
    </mx:Application>


     

    全部的代碼如上所示,現在就具體來說一下個部分的內容
    首先是用到了Flex庫中的Move組件,這個組件是用來做移動特效的,例如:從左向右移動,從上向下移動。
    在引用這個組件的時候,有兩種方式:一個是在組件里的綁定,如下:
    <mx:Move id="movePauseMove" yBy="-20" duration="1000" target="{LinkBtTry}"
    easingFunction="
    Bounce.easeOut"/>

    就是說在這個組件里面,我們直接將target的屬性綁定到一個控件中去了。
    還有一種是在AS文件中定義的,如
    Var MyMoveMove = new Move();
    MyMove.target = 一個控件對象;
    其實呢,是當鼠標移動到LinkButton的時候,我們自己創建了一個Label的對象,在這個里面有兩個問題需要注意一下:
    一個是當我們創建對象的時候,

    Mylabel = new Label();

    Mylabel.id =
    "Mylb";


    Mylabel.text =
    "權限管理";

    //Alert.show((targetStr.x/2).toString());


    Mylabel.x = targetStr.x + (targetStr.width/4);


    Mylabel.y = targetStr.y-targetStr.height/2+5;

     

    我們用Eclipse里面的自動功能,是無法出現Mylabel.x這樣的屬性的。再有一個是,如果你重新New了一個Label,設定Label.text的字體比較麻煩,我們可以直接使用CSS來完成,例如:

    <mx:Style>

    Label{


    fontSize: 14;


    }

    </mx:Style>

     

    也可以這樣

    <mx:Style>

    Label.id{


    fontSize: 14;

    }

    </mx:Style>

    最后一個問題,就是LinkButton里面的添加圖片了,代碼如下:icon="@Embed(source='image/Button1.gif')"。

    posted on 2008-08-25 16:34 程序人生-天津 閱讀(4560) 評論(5)  編輯  收藏 所屬分類: Flex

    評論

    # re: 【原創】Flex特效初探 2008-09-21 21:34 rty
    mxinkButton 是什么呀,根本就不能用  回復  更多評論
      

    # re: 【原創】Flex特效初探 2008-09-22 16:08 程序人生-天津
    @rty
    這個是在我們自己的網站論壇:fireflys.vicp.net/bbs上拷貝過來的,所以有的是被轉譯成了圖片,sorry,這個是<mx:linkButton>  回復  更多評論
      

    # re: 【原創】Flex特效初探 2008-12-01 17:46 aaaaaa
    Mylabel這個對象是在那里創建的阿?
    還是控件的id忘寫了?  回復  更多評論
      

    # re: 【原創】Flex特效初探 2009-04-10 10:54 肥肥
    @@ 有些Bug唷~  回復  更多評論
      

    # re: 【原創】Flex特效初探 2009-04-10 11:00 肥肥
    而且不太懂你陣列用意為何耶 :) 謝謝
      回復  更多評論
      

    主站蜘蛛池模板: 大陆一级毛片免费视频观看| 国产永久免费高清在线| 国产成人亚洲综合一区| 国产色在线|亚洲| 亚洲 欧洲 日韩 综合在线| 亚洲国产成人精品激情| 亚洲综合久久精品无码色欲| 亚洲熟妇无码av另类vr影视| 亚洲欧美成人一区二区三区| 亚洲Av永久无码精品黑人| 337P日本欧洲亚洲大胆精品| 国产亚洲综合视频| 深夜久久AAAAA级毛片免费看| 人成免费在线视频| 抽搐一进一出gif免费视频| 国产午夜不卡AV免费| 69国产精品视频免费| 97视频热人人精品免费| 日本不卡免费新一二三区| 亚洲高清成人一区二区三区| 国产亚洲日韩一区二区三区| 亚洲人成网77777亚洲色| 亚洲AV日韩精品久久久久久| 亚洲国产精品久久丫| 亚洲中文字幕一二三四区苍井空| 亚洲成av人在线观看网站| 欧洲乱码伦视频免费国产| 免费看一区二区三区四区| 最近中文字幕电影大全免费版| 一个人在线观看视频免费| 免费观看国产精品| 国产V亚洲V天堂A无码| 性xxxx黑人与亚洲| a高清免费毛片久久| 一级毛片免费播放| 啦啦啦www免费视频| 亚洲精品无码av人在线观看| 亚洲国产精品成人久久久| 婷婷国产偷v国产偷v亚洲| 色www永久免费网站| 无码国产精品一区二区免费式直播|