2012-10-23 1 views
0

이것은 내 코드가 정말 실망스럽게 도와주세요! 내 라이브러리에 영화 클립이 있으며 AS3을 스테이지에 추가했습니다. 그 부분은 쉬웠습니다. 하지만 지금은 영화 클립을 제어하고 싶습니다. introScene "introClass"프레임 120에 도달하면 동영상 클립 을 제거하고 다른 동영상 클립으로 교체하려고합니다. 문제는 if 문이 작동하지 않는다는 것입니다. 또한 getChildByName을 시도했지만 그 중 하나도 작동하지 않았습니다.왜 이것이 작동하지 않습니까? Flash As3, 추가 된 자식이 프레임에 있다면?

var introClass = new introScene; 
addChild(introClass); 
introClass.x = 640; 
introClass.y = 387; 

/* ** * ***INTRO-SCENE* ** * ***/

introClass.addEventListener(Event, introLoaded); 

function introLoaded(event):void{ 

    if(introClass == 120){ 
     trace("Frame Reached") 
    } 
} 

i tri 에디션이이 또한 작동하지 않습니다는 :(

introClass.addEventListener(Event, introLoaded); 

function introLoaded (e:Event):void{ 

    if(MovieClip(introClass).currentFrame == 120){ 
     trace("120 complete") 
    } 
} 
+1

자세한 내용이 필요합니다. 오류는 무엇입니까? 한 가지 즉시 알아 두어야 할 점은'introScene'을 인스턴스화 한 후에'()'가 누락되었다는 것입니다. 'introClass = new introScene(); ' – BadFeelingAboutThis

+1

또한,'introLoaded' 함수에 표시 객체를 건네 주면 아마도'Event' 객체를 기대할 것입니다. – BadFeelingAboutThis

+0

아무것도하지 않는 오류는 없습니다. 라이브러리에서 무대에 인트로 신을 추가했습니다. 그리고 내 목표는 영화 클립 심볼 introScene이 프레임 120에 도달 한 경우였습니다. 다른 수신기가 활성화 될 것입니다. – user1492440

답변

0

이 잘못 성명 :

introClass.addEventListener(Event, introLoaded); 

당신은 대해 addEventListener 문자열을 전달해야합니다. 이벤트 유형 이름은 런타임시 문자열로 변환되어 "flash.events.Event"또는 기타 이벤트 리스너를 추가합니다. 그리고 당신의 물건에는 분명히이 사건이 없습니다. 예를 들어 Event.ENTER_FRAME을 사용해야합니다.

+0

다른 방법이 있습니까? 또는 ENTER_FRAME과 다른 무언가가 있습니다. 이는 로더와 물건이있어 진행 상황을 볼 수 있기 때문입니다. – user1492440

+0

ENTER_FRAME을 사용하면 코드가 원하는대로 정확하게 수행됩니다. 그렇지 않으면 프레임 120'dispatchEvent (new Event ("bla"));에서 커스텀 이벤트를 디스패치하고 그'introClass.addEventListener ("bla", introLoaded);를 들어 줄 수 있습니다. –

+0

감사합니다 근무 : D 조 – user1492440

관련 문제