<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成人无码久久精品老人| 亚洲最大av资源站无码av网址| 亚洲电影免费观看| 亚洲精品在线免费观看| 永久免费在线观看视频| 亚洲免费闲人蜜桃| 四虎在线视频免费观看| 国产精品亚洲综合网站| 亚洲日韩精品无码专区网站| 中国国语毛片免费观看视频| 日韩va亚洲va欧洲va国产| 免费视频成人片在线观看| 亚洲一区精彩视频| 国产男女猛烈无遮挡免费视频网站 | 在线亚洲97se亚洲综合在线 | 久久精品无码精品免费专区| 亚洲网址在线观看你懂的| 亚洲精品视频免费看| 亚洲经典千人经典日产| 四虎亚洲国产成人久久精品| 国产在线精品观看免费观看| 久久精品国产亚洲av成人| 免费阿v网站在线观看g| 国产精品亚洲五月天高清| 久久精品亚洲视频| 最近免费中文字幕视频高清在线看 | 亚洲中字慕日产2021| 国产精品酒店视频免费看| 国产一区二区三区免费观在线| 亚洲视频免费一区| 狠狠久久永久免费观看| 在线观看黄片免费入口不卡| 亚洲欧洲国产视频| 亚洲国产精品尤物YW在线观看| 国产精品免费大片| 国产亚洲一卡2卡3卡4卡新区 | 亚洲中文字幕乱码AV波多JI| ZZIJZZIJ亚洲日本少妇JIZJIZ | 亚洲成a人片在线观看久| 57pao一国产成视频永久免费|