2009-02-27 3 views
0

내가 attachMovieClip에 첨부 된 동영상 클립을 가지고, 그리고 그것이 시험이라고에서() 함수를 가지고- 액션 2

///

function test() 
{ 
    trace('!'); 
} 

무비 클립을 첨부 한 후 해당 함수를 호출하려고했지만 간단히 할 수 없었습니다. 이것에 대한 간단한 해결책이 있습니까? 클립이 완전히로드 될 때까지 함수를 호출 할 수 없다는 내용을 읽었습니다.이 간단한 해결책이 있습니까?

+0

동영상을로드 한 후에 함수를 호출 할 수 있습니까? – dirkgently

+0

어떻게 함수를 호출합니까? 무비 클립의 인스턴스를 통해이 작업을 수행하고 있습니까? –

답변

1

"test"기능이 MovieClip 타임 라인의 첫 번째 프레임에 정의되어 있는지 확인하십시오. 그런 다음 MovieClip.onLoad 핸들러를 사용하여 MovieClip이 함수 호출을받을 준비가 된 시점을 캡처합니다. 그 후에는 클립에서 "테스트"를 호출 할 수 있어야합니다.

행운을 빈다.

+0

이상합니다. 당신이 in-movieclip 함수에 액세스 할 수 없을 때 (내가 조금 기다려야한다고 언급했듯이) 내부 요소에 액세스하여 위치를 설정하고 .... 나는 onLoad()의 사용을 피하기 위해 함수를 사용하지 않고 (그리고 수동으로) 함수 내에서했던 것을하는 것을 선호한다. – Emadpres

+0

@ seedpod.mp 무비에서 무비 클립이 많은 경우 어떻게 모든 무비가로드되고 초기화 할 준비가되었는지 (= 및 해당 기능을 사용할 수 있습니까?) 확인할 수 있습니까? – Emadpres

1

기본 타임 라인에서 무비 클립 외부에서 함수를 정의 할 수 있습니다. 그런 다음, (음 attachMovie를 통해)를 부착, 당신은의 initObject를 통해 전달할 수 (4 매개 변수) : 나는 AS2를 사용하기 때문에

function test(p) { 
    trace("called with "+p); 
} 
this.attachMovie("lib_clip","clip_mc",3,{func:test, mp:"my parameter"}); 
clip_mc._x = 100; 
clip_mc._y = 100; 
clip_mc.onRelease = function() { 
    this.func(this.mp); 
}; 

Vyger

0

그것은 AS3 바위로, 잠시 였지만, 저는 믿습니다 첨부 된 무비 클립에 인스턴스 ID를 제공해야합니다. 그리고 영화가 준비 될 때까지 기다려야합니다. 당신이해야 할 일은

//MovieClip with function hello() in it. 
hello():Void 
{ 
    trace('Hello world!'); 
} 

//Root timeline of main movie. 
container.attachMovieClip("nameInLibraryToAttach", "instanceID", depth); 

//The following will not trace because it happens to soon. 
container.instanceID.hello(); 

//The following works 
var runOnceNumber:Number = 0; 
var interval:Number = setInterval(someFunction, 1000); 

someFunction():Void 
{ 
    container.instanceID.hello(); 
    runOnceNumber++; 

    clearInterval(interval); 
} 

는 설정 내장 된 기능을 가진 무비 클립 이벤트를 방송 할 때 준비 만 아마 한 틱을 필요로하여 setInterval 같은 주, 또는 무언가에서 듣고 중 하나입니다. setInterval을 사용하여 테스트 한 결과, 먼저 작동했습니다. 다시 말하면 프레임 1의 모든 코드가로드되어 사용 가능하다는 것을 의미하는 "초기화 됨"이 될 때까지 기다려야합니다. ActionScript 3.0을 고려하면 이벤트 흐름에 따라 이와 같은 작업이 매우 쉽기 때문입니다.

+0

당신의 대답이 정말로 도움이되었습니다. 나는 초기화를 기다리는 것을 잊고있었습니다. AS2 만 지원하는 내장 장치! – nMoncho

관련 문제