国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Flash > 正文

AS3.0 實例學習 熟悉tween以及tweenEvent的運用

2024-09-12 17:50:53
字體:
來源:轉載
供稿:網友
案例3:熟悉tween以及tweenEvent的運用

說明:點擊標簽載入特定的圖片說明(其實是一個mc,只是坐標不同),同時還有漸隱漸現效果,沒做loading,可能載入會有點慢。

演示:
http://www.live-my-life-with-yuyi.com/as3_cases/dynamic_with_events/

代碼:

初始化,給一些變量賦值

復制代碼 代碼如下:

import fl.transitions.Tween; 
import fl.transitions.easing.*; 
import fl.transitions.TweenEvent; 
var homeX:Number = -301; 
var homeY:Number = 110; 
var newsX:Number = -17; 
var newsY:Number = -777; 
var aboutX:Number = -1354; 
var aboutY:Number = -445; 
var xTween:Tween; 
var yTween:Tween; 
var inTween:Tween; 
var outTween:Tween; 
先是導入一些需要用到的類,然后定義幾個坐標,這幾個坐標都是一個大mc的不同位置。

然后是初始化tween類,并對tween類監聽。

復制代碼 代碼如下:

xTween = new Tween(main_mc,"x",Strong.easeInOut,main_mc.x,homeX,2,true); 
yTween = new Tween(main_mc,"y",Strong.easeInOut,main_mc.y,homeY,2,true); 
inTween = new Tween(main_mc.home_mc,"alpha",None.easeNone,0,1,.5,true); 
outTween = new Tween(main_mc.home_mc,"alpha",None.easeNone,1,0,.5,true); 
xTween.addEventListener(TweenEvent.MOTION_FINISH,fadeIn); 
xTween.addEventListener(TweenEvent.MOTION_START,fadeOut); 
home_btn.addEventListener(MouseEvent.CLICK, navigate); 
news_btn.addEventListener(MouseEvent.CLICK, navigate); 
about_btn.addEventListener(MouseEvent.CLICK, navigate); 

實例化xTween,yTween后并不會馬上就運行,如果在之后的代碼發現了stop動作的話。這些參數跟AS2并沒有多大差別。
xTween和yTween是實現mc的緩動效果,inTween和outTween是實現漸隱漸現效果的。
這里只監聽xTween而沒有監聽yTween,因為這兩個是同時進行的所以監聽一個就行了。
最后是對3個按鈕的click監聽。

接下來就是最關鍵的上面提到的幾個函數

復制代碼 代碼如下:

function navigate(event:MouseEvent):void 

    if(event.target == home_btn) 
    { 
        setTween(homeX,homeY,main_mc.home_mc); 
    } 
    else if(event.target == news_btn) 
    { 
        setTween(newsX,newsY,main_mc.news_mc); 
    } 
    else 
    { 
        setTween(aboutX,aboutY,main_mc.about_mc); 
    } 

function setTween(tweenX:Number,tweenY:Number,tweenMC:MovieClip):void 

    xTween.begin = main_mc.x; 
    yTween.begin = main_mc.y; 
    xTween.finish = tweenX; 
    yTween.finish = tweenY; 
    tweenMC.alpha = 0; 
    inTween.obj = tweenMC; 
    xTween.start(); 
    yTween.start(); 


function fadeIn(event:TweenEvent):void 

    inTween.start(); 
    outTween.obj = inTween.obj; 

function fadeOut(event:TweenEvent):void 

    outTween.start(); 


先來看看navigate函數,這是被3個按鈕共同調用的函數,通過判斷不同的target.name設置不同的setTween。
再來看看setTween,參數tweenX和tweenY是目標坐標,tweenMC是目標mc,通過設置begin,finish,obj參數來改變xTween和yTween的初始坐標,目標坐標,作用對象,最后調用start函數開始運動。

fadeIn函數的作用是使inTween開始,并且將inTween作用的對象賦予outTween,這樣outTween被調用的時候就能作用在正確的mc上了。
打包文件
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成都市| 平山县| 兰州市| 惠安县| 泊头市| 曲沃县| 陆良县| 鄂州市| 积石山| 庐江县| 咸丰县| 刚察县| 读书| 眉山市| 囊谦县| 澜沧| 武功县| 荃湾区| 修文县| 襄樊市| 武强县| 贵阳市| 嘉义县| 五常市| 绥宁县| 军事| 田东县| 巴彦淖尔市| 班玛县| 石楼县| 彰化县| 喀什市| 高雄市| 潮安县| 景洪市| 弋阳县| 固安县| 蓬莱市| 荥阳市| 伊春市| 荣成市|