通過實(shí)例學(xué)習(xí)AS3.0——案例三_Flash教程
推薦:通過實(shí)例學(xué)習(xí)flash AS3.0——案例二首先聲明:本人大菜鳥一個(gè),剛接觸AS3不久,許多理念還沒來(lái)得及灌輸,這些case都是從網(wǎng)上down的,但因?yàn)榻庹f(shuō)是英文的,不利我們學(xué)習(xí),我就充當(dāng)一個(gè)translater
首先聲明:本人大菜鳥一個(gè),剛接觸AS3不久,許多理念還沒來(lái)得及灌輸,這些case都是從網(wǎng)上down的,但因?yàn)榻庹f(shuō)是英文的,不利我們學(xué)習(xí),我就充當(dāng)一個(gè)translater,順便可以讓自己鞏固一下知識(shí)。
水平有限,錯(cuò)誤難免,歡迎大蝦小蝦,大鳥小鳥指正。
下面進(jìn)入正題:
案例3:熟悉tween以及tweenEvent的運(yùn)用
說(shuō)明:點(diǎn)擊標(biāo)簽載入特定的圖片說(shuō)明(其實(shí)是一個(gè)mc,只是坐標(biāo)不同),同時(shí)還有漸隱漸現(xiàn)效果,沒做loading,可能載入會(huì)有點(diǎn)慢。
演示:
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;
先是導(dǎo)入一些需要用到的類,然后定義幾個(gè)坐標(biāo),這幾個(gè)坐標(biāo)都是一個(gè)大mc的不同位置。
然后是初始化tween類,并對(duì)tween類監(jiān)聽。
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);
實(shí)例化xTween,yTween后并不會(huì)馬上就運(yùn)行,假如在之后的代碼發(fā)現(xiàn)了stop動(dòng)作的話。這些參數(shù)跟AS2并沒有多大差別。
xTween和yTween是實(shí)現(xiàn)mc的緩動(dòng)效果,inTween和outTween是實(shí)現(xiàn)漸隱漸現(xiàn)效果的。
這里只監(jiān)聽xTween而沒有監(jiān)聽yTween,因?yàn)檫@兩個(gè)是同時(shí)進(jìn)行的所以監(jiān)聽一個(gè)就行了。
最后是對(duì)3個(gè)按鈕的click監(jiān)聽。
接下來(lái)就是最要害的上面提到的幾個(gè)函數(shù)
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();
}
先來(lái)看看navigate函數(shù),這是被3個(gè)按鈕共同調(diào)用的函數(shù),通過判定不同的target.name設(shè)置不同的setTween。
再來(lái)看看setTween,參數(shù)tweenX和tweenY是目標(biāo)坐標(biāo),tweenMC是目標(biāo)mc,通過設(shè)置begin,finish,obj參數(shù)來(lái)改變xTween和yTween的初始坐標(biāo),目標(biāo)坐標(biāo),作用對(duì)象,最后調(diào)用start函數(shù)開始運(yùn)動(dòng)。
fadeIn函數(shù)的作用是使inTween開始,并且將inTween作用的對(duì)象賦予outTween,這樣outTween被調(diào)用的時(shí)候就能作用在正確的mc上了。
分享:Flash AS3中數(shù)據(jù)發(fā)送與接收先回顧一下as2中相關(guān)的解決辦法相信大部分人用的都是LoadVars類吧1varxianshi_lv=newLoadVars();2xianshi_lv.bianliang1=變量一;3xianshi_lv.bi
- 相關(guān)鏈接:
- 教程說(shuō)明:
Flash教程-通過實(shí)例學(xué)習(xí)AS3.0——案例三。