2014-04-21 10 views
0

나는 프로젝트의 모든 코드를 분석했다. 클래스 중 하나에서 함수 내에서 증분하는 속성 (변수)이있다. 실제로 애니메이션 단계이며, 다음 프레임을 재생하는 유일한 방법은 다음과 같다. 사항 gotoAndPlay, gotoAndStop로, prevFrame과 넥스트와 함께하지만 수업 시간에 그냥이 ..수수께끼의 변수

public function hurt(_damage:Number):void 
{ 
    animationStep:int; 
    //trace("hurt", health, _damage) 
    health-=_damage 
    if(health <= 0) 
    { 
     kill=true 
     health=0 
    } 
    animationStep=5 - health 
    trace(animationStep); 
} 

그래서 무엇 플래시가 animationStep는 단지 정수 VAR의 경우 MV를 애니메이션하는 방법입니다 것을 알 수있다?

+0

해당 변수를 변경하면 상태가 감소함에 따라 증가 (단계)가 느려집니다. 내가 보는 유일한 이상한 점은 animationStep이 실행될 때마다 다시 설정된다는 것입니다. – durbnpoisn

+0

movieclip을 움직이게하는 유일한 방법은 gotoAndPlay를 사용하는 것입니다. –

+0

괜찮습니다. 처음에는 변수를 전역으로 설정합니다. 프레임 핸들러 바깥 쪽. – durbnpoisn

답변

0

토론이되기 때문에 답변으로 설정하고 있습니다.

해당 변수를 변경하면 상태가 감소함에 따라 증가 (단계)가 느려집니다. 내가 볼 수있는 유일한 이상한 점은 animationStep 그것이

을 실행할 때마다 리셋 때문이다

마이클 호세 : 나는 무비 클립에 애니메이션을 알고있는 유일한 방법은,에서 gotoAndPlay를 사용하는 요법 - 괜찮아요 마이클 호세 4 분 전

, 변수를 처음부터 글로벌 변수로 설정하십시오. 프레임 핸들러 바깥 쪽.

Michael Jose : 그렇다면 왜 컴파일러는 변수가 gotoAndPlay 함수에 매개 변수로 전달되어야하는지 알고 있습니까?

아니요. 그러면 기능이 로컬이 될 수 있습니다. 그렇게 할 계획이라면 그것을 넘겨주고 return을 사용하여 새로운 가치를 보냅니다.

+0

위의 설명에 따르면 : 글로벌 인 경우 어디서든 수정할 수 있습니다. 그래. 컴파일러는 그것을 어떻게 처리해야하는지 알 수 있습니다. 함수 자체가 전역 (goto 함수가있는)이라고 가정하면 전달할 필요가 없습니다. – durbnpoisn