2015-09-13 84 views
0

我正在嘗試使墜落的炸彈和爆炸效果。我用一個嵌套的補間動畫創建了bomb1,然後我創建了bomb2,爆炸效果嵌入bomb1的深層。我的希望是,當炸彈擊中目標時,向下的動作將停止,同時會發生爆炸。問題是我不能同時發生兩個動作,它要麼完全停止運動,要麼在炸彈繼續向下時爆炸。我不能讓這兩個行動同時發生。 bomb1.stop();應該停止這個動作,並且bomb1.bomb2.gotoAndPlay(31);應該會產生爆炸效果。任何想法?停止並播放嵌套的影片剪輯

import flash.events.Event; 
var bombPlaying: Boolean = true; 

this.addEventListener(Event.ENTER_FRAME, handleCollision); 

function handleCollision(evt: Event): void { 
    if (bomb1.hitTestObject(gLine1)) { 
    bomb1.stop(); 
    bomb1.bomb2.gotoAndPlay(31); 

    } 
} 
+0

這應該有效。 – Aaron

回答

0

我找到了解決方案。 eventListener必須先移除bomb1.stop();bomb1.bomb2.gotoAndPlay(31);

import flash.events.Event; 

    bomb1.gotoAndStop(1); 

myButton.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler); 

function fl_MouseClickHandler(event: MouseEvent): void { 
    bomb1.gotoAndPlay(1); 
    this.addEventListener(Event.ENTER_FRAME, handleCollision); 
} 
function handleCollision(evt: Event): void { 
    if (bomb1.hitTestObject(gLine1)) { 
     this.removeEventListener(Event.ENTER_FRAME, handleCollision); 
     bomb1.stop(); 
     bomb1.bomb2.gotoAndPlay(31); 
    } 
} 
0

我不能沒有看到該項目爲您的具體細節發表評論,但您的問題可能的解決辦法是試試這個:

import flash.events.Event; 
var bombPlaying: Boolean = true; 

this.addEventListener(Event.ENTER_FRAME, handleCollision); 

function handleCollision(evt: Event): void { 
    if (bomb1.hitTestObject(gLine1)) { 
    bomb1.stop(); 
    setTimeout(bomb1.bomb2.gotoAndPlay, 0, 31); 
    } 
} 

這將觸發你的bomb1.bomb2。 gotoAndPlay函數在下一幀被調用,這可能會緩解您的問題。