2010-03-16 6 views
0

처음에 영화 클립을 보이지 않게 만들고 싶지만 플래시의 속성 내에서 수동으로 설정하고 싶지 않습니다. 장면에서 볼 수 없기 때문입니다.플래시 : 인스턴스에 이벤트 코드를 동적으로 추가 할 수 있습니까?

난 내가과 같이 몇 가지 코드를 추가 할 수 있습니다 기대했다 :

MC 프레임 하나를.

this.onClipEvent(load) 
{ 
this._alpha = 0; 
} 

하지만 그렇지 않습니다. 각 인스턴스에 수동으로 추가하거나 속성에 설정하지 않고 모든 인스턴스에 대해 MC _alpha를 0으로 설정할 수 있습니까?

편집 : 또는 알파를 설정하기위한 클래스를 만듭니다.

답변

0

나는 지금 내가 원하는 것을하는이 코드를 사용하고있다. 그러나 나는 그것을 싫어.

var once:Boolean; 

    if (once == null) { 
     once = true; 
     this._alpha = 0; 
    } 
+0

기본적으로 onClipEvent (Load) – 4imble

0

actionscript 2에 subclass을 생성하여이를 수행하려면 여기 Adobe에서 제공하는 단계별 튜토리얼을 참조하십시오.

http://www.adobe.com/devnet/flash/articles/mc_subclasses_v2_04.html

튜토리얼은 onEnterFrame 이벤트 핸들러를 추가하도록 지시,하지만 당신은 그것을 무시하고 단순히 생성자에 다음 코드를 추가 할 수 있습니다.

클래스 이름이 Ball 인 경우 코드는 다음과 같습니다. (이것은 자습서의 4 단계에서 나온 것입니다).

dynamic class Ball extends MovieClip { 

    function Ball() { 
    this._alpha = 0; 
    } 
} 
0

어쩌면 내가 제대로 이해되지 않았다 뭔가있다, 그러나 당신은 당신의 첫 번째 프레임에 이런 식으로 뭔가를 작성해야 :

yourFirstMovieClip._alpha = 0; 
yourSecondMovieClip._alpha = 0; 



당신의 무비 클립 이름은 (MC0 번호가있는 경우, mc1, mc2, mc3 ...) 루프를 사용하여 모든 클립에 _alpha 속성을 설정할 수 있습니다. 그 루프 그것을 통해

for(var i:Number = 0 ; i < 5 ; i++) 
{ 
    this["mc"+i]._alpha = 0; 
} 



그렇지 않다면, 당신은 배열에있는 모든 클립을 저장할 수 있습니다 : 하자 당신이 5 개 클립 (MC4에 MC0)을 가지고 있다고

var clips:Array = [mcFirst, mcSecond, mcThird, mcFourth]; 
for(var i:Number = 0 ; i < clips.length ; i++) 
{ 
    clips[i]._alpha = 0; 
} 
+0

인스턴스를 직접 명명하지 않고 MC 내부의 한 위치에 코드를 작성하려고했습니다. 그런 식으로 나는 맘대로 많은 MC를 추가 할 수 있으며 코드 수정에 대해 걱정할 필요가 없습니다. 어쨌든 고마워, . – 4imble

0

또 다른 해결책이 당신의 무비 클립의 첫 번째 프레임에이 줄을 추가 할 수 있습니다 : 두 번째 프레임 애니메이션을 시작

_alpha = 0; 
및에 다음 줄을 추가하려면 마지막 :

gotoAndPlay(2); 

따라서 첫 번째 프레임의 코드는 한 번만 실행됩니다.

+0

을 모방하고 있습니다. 이것을 고려해 보았습니다. 하지만 누군가 기존 코드를 추가하고 있습니다. 뭔가 다른 일을하기를 바라고 관계없이 다시 실행하게 만들었습니다. – 4imble

관련 문제