2013-06-15 2 views
0

저는 플래시가 처음인데 (별로 새로운 것은 아닙니다) 질문을하고 싶습니다. 방금 ​​하늘에서 떨어지는 사람들을 쏴야 만하는 게임을 만들었습니다. 나는 적을 만들 예정 이었지만 나는 어떤 효과를 내기 위해 생각했다. 나는 클릭 할 때 새로운 아이가 만들어지고 폭발의 동영상 애니메이션이되는 효과를 만들었습니다. 그러나 나는 애니메이션을 멈출 수 없다. 계속 반복됩니다. 나는 stop()을 시도했다. 심볼의 마지막 프레임에 있지만 그 다음에는 아이를 화면에 추가하지 않습니다. 여기 은 .FLA 파일입니다 -플래시에서 동영상 클립의 애니메이션 중지 액션 스크립트 3

http://www.mediafire.com/download/lwol38o4454sphp/Game.fla

여기에 코드입니다 : - 클립의 재생이 완료되면

import flash.events.Event; 
import fl.motion.MotionEvent; 

addEventListener (Event.ENTER_FRAME,moveturret); 
Mouse.hide(); 
var firegun:boom22 = new boom22(); 

function moveturret (e:Event) 

{ 
    aim.x = mouseX 
    aim.y = mouseY 
    var differenceX = mouseX - turret.x; 
    var differenceY = mouseY - turret.y; 
    var radianToDegrees = (Math.PI/180); 
    turret.rotation = Math.atan2(differenceY, differenceX)/radianToDegrees; 
} 


stage.addEventListener(MouseEvent.CLICK,fire); 

function fire (e:MouseEvent) 

{ 
    firegun.x = mouseX 
    firegun.y = mouseY 
    addChild(firegun); 
} 
+0

'로 removeChild (firegun는)'타이머 – adaam

답변

0

당신은 다음이, 확인하기 위해 이벤트 리스너를 추가 할 수 있습니다 그것은 스스로 제거합니다.

아마 같은 :

// within your fire() event handler 
addChild(firegun); 
firegun.gotoAndPlay(1); // just in case 
firegun.addEventListener(Event.ENTER_FRAME, removeSelfWhenDone, false, 0, true); 



// then new method: 
// on every frame tick, check if last frame is reached, if so, remove it from it's parent (which would be the stage) 
function removeSelfWhenDone(inputEvent:Event):void { 
    var clip:MovieClip = (MovieClip) (inputEvent.target); 
    if(clip.currentFrame == clip.totalFrames){ 
     // also remove the event listener (as it gets added again later) 
     clip.removeEventListener(Event.ENTER_FRAME, removeSelfWhenDone, false); 
     clip.parent.removeChild(clip); 
    } 
} 
+0

형식 오류 후 : 오류 # 1006 : removeSelfWhenDone는 함수가 아닙니다. \t at Game_fla :: MainTimeline/removeSelfWhenDone() 이것은 내가 할 때 얻는 것입니다 .... – FlashGameProgrammer

+0

pls는 내 화면에 무엇이 있는지 볼 수 있도록 FLA를 다운로드하려고합니다. – FlashGameProgrammer

+0

cs5를 사용하고 있어도 열 수 없습니다. 그러나 재생을 마친 때를 모니터링하는 무비 클립 자체에 이벤트 프레임 수신기를 추가하는 것이 그 목적입니다. – mitim

관련 문제