2011-02-15 77 views
0

好吧我會盡力解釋我的問題。感謝您幫助Simsoft。第1幀有9個按鈕,包括翻轉,突出和點擊。當用戶點擊任何一個按鈕時,時間線跳轉到第2幀,從該介紹菜單離開,並出現一個新的,更持久的菜單。在這一點上,我們在第10幀。現在我可以使用這個新菜單沒有問題 - 問題在於使用第一個菜單。我需要第一個菜單跳到第2幀,執行退出過渡(第2-10幀),然後當它到達第10幀時,轉到與用戶點擊的按鈕相對應的任何幀。所以這裏是第1幀的代碼:flash AS3和_currentframe

stop();

function rollOverCommand(event:MouseEvent):void{ 
if(event.target.name == "button1"){ 
    event.target.gotoAndPlay(2); 

} 
if(event.target.name == "button2"){ 
    event.target.gotoAndPlay(2); 
} 
if(event.target.name == "button3"){ 
    event.target.gotoAndPlay(2); 
} 
if(event.target.name == "button4"){ 
    event.target.gotoAndPlay(2); 
} 
    if(event.target.name == "button5"){ 
    event.target.gotoAndPlay(2); 
} 
    if(event.target.name == "button6"){ 
    event.target.gotoAndPlay(2); 
} 
    if(event.target.name == "button7"){ 
    event.target.gotoAndPlay(2); 
} 
    if(event.target.name == "button8"){ 
    event.target.gotoAndPlay(2); 
} 
    if(event.target.name == "button9"){ 
    event.target.gotoAndPlay(2); 
} 
} 



container.addEventListener(MouseEvent.MOUSE_OVER, rollOverCommand); 

function rollOutCommand(event:MouseEvent):void{ 
if(event.target.name == "button1"){ 
    event.target.gotoAndPlay(11); 
} 
if(event.target.name == "button2"){ 
    event.target.gotoAndPlay(11); 
} 
if(event.target.name == "button3"){ 
    event.target.gotoAndPlay(11); 
} 
if(event.target.name == "button4"){ 
    event.target.gotoAndPlay(11); 
} 
    if(event.target.name == "button5"){ 
    event.target.gotoAndPlay(11); 
} 
    if(event.target.name == "button6"){ 
    event.target.gotoAndPlay(11); 
} 
    if(event.target.name == "button7"){ 
    event.target.gotoAndPlay(11); 
} 
    if(event.target.name == "button8"){ 
    event.target.gotoAndPlay(11); 
} 
    if(event.target.name == "button9"){ 
    event.target.gotoAndPlay(11); 
} 
} 
container.addEventListener(MouseEvent.MOUSE_OUT, rollOutCommand); 



function clickCommand(event:MouseEvent):void{ 
    if(event.target.name == "button1","button2","button3","button4","button5","button6","button7","button8","button9"){ 
    gotoAndPlay(2); 
} 
} 
container.addEventListener(MouseEvent.CLICK, clickCommand); 

這裏是在框架10的代碼(使用新的按鈕稱爲 '主') 停止();

container2.addEventListener(MouseEvent.CLICK, clickCommand2); 

function clickCommand2(event:MouseEvent):void 
{ 
if (event.target.parent.name == "main1") 
{ 

    event.target.root.gotoAndPlay(1); 
    trace(event.target.parent.name); 
} 
else if (event.target.parent.name == "main2") 
{ 
    trace(event.target.parent.name); 
    event.target.root.gotoAndStop(13); 
} 
else if (event.target.parent.name == "main3") 
{ 
    trace(event.target.parent.name); 
    event.target.root.gotoAndStop(14); 
} 
else if (event.target.parent.name == "main4") 
{ 
    trace(event.target.parent.name); 
    event.target.root.gotoAndStop(15); 
} 
else if (event.target.parent.name == "main5") 
{ 
    trace(event.target.parent.name); 
    event.target.root.gotoAndStop(16); 
} 
else if (event.target.parent.name == "main6") 
{ 
    trace(event.target.parent.name); 
    event.target.root.gotoAndStop(17); 
} 
else if (event.target.parent.name == "main7") 
{ 
    trace(event.target.parent.name); 
    event.target.root.gotoAndStop(18); 
} 
else if (event.target.parent.name == "main8") 
{ 
    trace(event.target.parent.name); 
    event.target.root.gotoAndStop(19); 
} 
else if (event.target.parent.name == "main9") 
{ 
    trace(event.target.parent.name); 
    event.target.root.gotoAndStop(20); 
} 
} 











container2.addEventListener(MouseEvent.MOUSE_OVER, rollOverCommand2); 

function rollOverCommand2(event:MouseEvent):void 
{ 
if (event.target.name == "main1","main2","main3","main4","main5","main6","main7","main8","main9") 
{ 

    event.target.parent.gotoAndPlay(16); 

} 
} 




container2.addEventListener(MouseEvent.MOUSE_OUT, rollOutCommand2); 

function rollOutCommand2(event:MouseEvent):void 
{ 
if (event.target.name == "main1","main2","main3","main4","main5","main6","main7","main8","main9") 
{ 

    event.target.parent.gotoAndPlay(21); 

} 
} 

我有想法,簡單的寫有第一菜單淡入淡出的α爲零,然後跳轉到相應的框架,其中的工作,但我的第二個,主要設置按鈕翻車,超時和點擊剛剛停止工作。哇這不容易解釋!無論如何,我很感激你花時間幫助我。

回答

0

嘗試這樣:

var clickedButton : String;

function clickCommand(event:MouseEvent):void{ 
    stage.addEventListener(Event.ENTER_FRAME, onEnterFrame); 
    clickedButton = event.target.name; 
    gotoAndPlay(2); 
} 

function onEnterFrame(e:Event) : void 
{ 
    if(currentFrame == 12) 
    { 
     switch(clickedButton) 
     { 
      case "button1": 
       gotoAndStop(13); 
       break; 
      case "button2": 
       gotoAndStop(14); 
       break; 
     } 

     removeEventListener(Event.ENTER_FRAME, onEnterFrame); 
    } 
} 

+0

@Simsoft這種有道理,雖然我從來沒有想到它。我改變了函數名'onEnterFrame',因爲它認爲我指的是as2 onEnterFrame。 – 2011-02-15 14:51:24

0

您可以在ENTER_FRAME事件上添加偵聽器。

+0

是否可以讓我怎麼寫出來?它是一個函數中的函數嗎?即,clickCommand函數裏面的enterFrame函數? – 2011-02-15 14:00:21