2014-03-04 6 views
0

타임 라인의 기호를 초기화하고 해당 기호 내의 변수에 액세스하려고하지만 기호의 타임 라인에서 변수를 설정하더라도 0 또는 정의되지 않은 값을 반환합니다. 어떤 이유로 변수가 아직 설정되지 않았지만 주요 일정에서 변수가 존재한다는 것을 알 수 있습니다. 변수가 설정 될 때까지 프로그램을 대기 상태로 만들려면 어떻게합니까?as3 기호 변수가 초기화되지 않았습니다.

+0

질문에 직접 답하는 것은 아니지만 기호 안에 코드를 넣으면 외부 .as 클래스에 코드를 추가 할 수 있습니다. 그것은 훨씬 더 유연한 개발 방법입니다. 클래스의 인스턴스를 만들 때 변수의 초기화 방법을 완벽하게 제어 할 수 있습니다. 죄송 합니다만 가능한 한 빨리 타임 라인을 사용하지 마십시오. – moosefetcher

+0

코스 프로젝트에 타임 라인을 사용해야합니다. – user2956947

답변

0

MovieClip의 타임 라인 및 프레임에서 코딩하지 않고 클래스로 작업하는 것이 가장 좋습니다. 디자이너의 MovieClip이 있다고 가정하고 특정 프레임에 일부 논리를 삽입하려고합니다. 많은 옵션이 있습니다.

이벤트

당신은 특정 프레임에서 이벤트를 트리거 할 수 있으며, (클래스와 반원들과 함께) 일반적인 방법으로 작동합니다.

//Frame code 
import flash.events.Event; 

this.dispatchEvent(new Event("IntroDidFinish", true, true)); 
stop(); 

//Somewhere in class 
myContainer.addEventListener("IntroDidFinish", onIntroFinish, false, 0, true); 

function onIntroFinish(e: Event):void{ 
    //Do your stuff 
} 

이벤트, 당신은 초기화를위한 여분의 시간을 기다려야하는 당신이 초기화 무비 클립이 어떤 프레임에 도달으로

기다리고 디자인 (미리 정의 된 복잡한 무비 클립 등)

에서 로직을 분리 도움이됩니다. AS3 개발자 중 99.9 %가 중요한 데이터 나 로직의 소유자로서 MovieClip을 좋아하지 않는 이유가 무엇인지에 대한 것입니다. 즉, myMovieClip.goToAndStop(8);으로 전화하면 goTo 작업 후 8 프레임에 myMovieClip.someValue이 선언 될 수 없습니다. 이러한 접근 방식을 계속 사용하고 싶다면 Event.ENTER_FRAME, goTo가 ENTER_FRAME 이벤트에 가입 한 후 하나의 업데이트 만 수행하면됩니다.)

+0

as3 코스에서는 수업을 사용하지 않습니다. 타임 라인에서 어떻게 구현할 수 있습니까? – user2956947