2010-01-16 4 views
0

나는 이것을 잘 설명하기를 바랍니다. 하지만 내 게임에서 총알 MoviClip에 3 개의 키 프레임이 있습니다. 1 정상 상태를 표시합니다. 2는 그것을 위로 보여주고, 3은 무대에서 그것을 제거합니다. 총 3 프레임. 총알이 물체에 닿으면 두 번째 프레임으로 가서 재생합니다. 다음 프레임 3 조회수, 그것을 제거합니다. 여기 내 코드가은 하나의 키 프레임 만 재생합니다.

private function blowUp():void 
     { 
      if(dead) 
      { 
       gotoAndPlay(2); 
       if(currentFrame == 3) 
       { 
        garbage = true; 
       } 
      } 
     } 

내 문제는 프레임 2로 이동하지만 프레임 3에는 도달하지 않는다는 것입니다. 그래서 프레임 3은 총알을 가비지 수집 할 수 없습니다. 대신 Play()를 사용하면 작동하지만 gotoAndPlay는 수행하지 않습니다.

프레임 3 (아직 프레임 임)에서 키 프레임을 제거하려고했습니다. (그것이 끝나기를 원했지만) 그렇지 않습니다. 나는 내 문제가 바보 같기 때문에 누군가가 도울 수 있다면 큰 일이라고 생각한다. thanks

답변

2

프레임마다 블로우 업을 호출하지 않으므로 프레임 2로 항상 리셋하고 있습니까? 인 경우에

, 아마도, 부울 가드를 넣어보십시오

private var doingBlowUp : Boolean = false; 

    private function blowUp() : void 
    { 
     if (dead) { 
      if (doingBlowUp) 
      { 
       if (currentFrame == 3) 
       { 
        garbage = true; 
        doingBlowUp = false; 
       } 

      } else { 
       doingBlowUp = true; 
       gotoAndPlay(2); 
      } 
     } 

    } 
0

당신이 프레임을 입력 이벤트 처리기를 추가해야합니다. 논리를 수행하는 위치에서 currentFrame을 추적하여 == 3인지 확인하십시오. 내 생각에이 값은 2가 될 것입니다. 다른 옵션은 프레임 3의 함수를 호출하여 적절한 정리 작업을 수행하는 것입니다.

0

gotoAndPlay (x)가 프레임 "x"를 두 번 재생하는 Flash Player 9의 버그를 조심하십시오.

관련 문제