通過實(shí)例學(xué)習(xí)AS3.0——案例三_Flash教程

      編輯Tag賺U幣
      教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

      推薦:通過實(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

      來(lái)源:藍(lán)色理想//所屬分類:Flash教程/更新時(shí)間:2008-03-05
      相關(guān)Flash教程