2011-01-13 41 views
0

O.K,這是一個新的,我碰到了一堵磚牆,我在Flash CS5中使用AS3。我只想做一個補間動畫,它停在一個框架上,並有一個可點擊的按鈕來訪問maintime行的另一部分。還有一個動畫按鈕可以跳過它。一個人如何設置?顯然你需要一個stop();在時間線的停止幀處,兩個按鈕的事件監聽器和函數是否正確?除此之外還有更多的幫助。我有這樣的設置;導航時間軸

totalSlides:Number = 60; 
currentSlideNumber:Number = 1; 

skipbutton.addEventListener(MouseEvent.CLICK,skipbuttonPress); 

function skipbuttonPress(evt:MouseEvent):void{ 
    currentframelabel = currentframelabel+1; 
    if(currentSlideNumber>=0){ 
     currentframelabel = introstop; 
    } 
    framelabel.gotoAndStop(introstop); 
} 

和框架停止上設置如下

stop(); 

totalSlides:Number = 60; 
currentSlideNumber:Number = 5; 

click01.addEventListener(MouseEvent.CLICK,click01Press); 

function click01Press(evt : MouseEvent) : void { 
    currentSlideNumber = currentSlideNumber+1; 
    if (currentSlideNumber >= 0) { 
     currentSlideNumber = 25; 
    } 
    framelabel.gotoAndStop(mainpage); 
} 

因爲我需要這一個項目,任何幫助將受到十分重視。

非常感謝

+0

所以你想要做的是在點擊按鈕前跳過一幀? – 2011-01-13 17:59:44

回答

0
  1. Framelabels都是字符串,所以應該是 「introstop」 等等。
  2. currentFrameLabel返回當前幀的幀標籤的實際名稱,而不是當前幀號。所以你不能做currentFrameLabel+1
  3. 如果您只是想跳過一個框架,請執行gotoAndPlay (currentFrame+1);,但通常最好不要使用框架編號,而是使用標籤。這樣,您可以在標籤之間添加或刪除框架,而無需重新編程所有內容。我假設你知道如何設置這些。 ;)
  4. frameLabels真的不會去任何地方,MovieClip會。 ;)使用this.gotoAndStop("introstop");或簡單地gotoAndStop("introstop");

現在進行設置。在出現的跳過按鈕的框架,這樣做:

skipbutton.addEventListener(MouseEvent.CLICK,skipbuttonPress); 

function skipbuttonPress(evt:MouseEvent):void{ 
    gotoAndStop("introstop"); 
} 

(除非你有其他用處的slideNumber數 - 你不需要它跳過)

stop();在框架動畫的結尾必須有「introstop」標籤。

在同一個「introstop」框架上,您需要在舞臺上使用click01按鈕。然後執行此操作:

stop(); 

click01.addEventListener(MouseEvent.CLICK,click01Press); 

function click01Press(evt : MouseEvent) : void { 
    gotoAndStop("mainpage"); 
} 

其中,「mainpage」必須是要在介紹之後跳轉到的幀上的標籤。