2014-10-15 3 views
1

플래시 출력 패널에이 오류가 발생합니다. ReferenceError : 오류 # 1069 : String에 특성 알파가없고 기본값이 없습니다.AS3 - forEach를 사용하여 함수 호출

문제가있는 코드 :

var mcs:Array = new Array(); 
mcs.push({name:"mc_1"}); 
mcs.push({name:"mc_2"}); 
mcs.push({name:"mc_3"}); 
mcs.push({name:"mc_4"}); 

mcs.forEach(fade); 

function fade(element:*, index:int, arr:Array):void 
{ 
    fl_FadeOut(element.name); 
} 

function fl_FadeOut(element:Object) 
{ 
    element.alpha -= 0.05; 
    if(element.alpha <= 0) 
    { 
     element.removeEventListener(Event.ENTER_FRAME, fl_FadeOut); 
    } 
} 

난 그냥 다음 페이드 아웃 후, mc_2 페이드 초 동안 유지에서는 mc_1을 페이드 아웃합니다. mc_3 페이드 인 ... 등 하지만 난이 오류 메시지에 갇혔어요. 도움 주셔서 감사합니다!

답변

2

element.name ~ fl_FadeOut을 문자열로 전달합니다.

나는 당신의 라인을 따라 뭔가를하고 싶은 생각 : 당신이 getChildByName()를 사용

function fade(element:*, index:int, arr:Array):void 
{ 
    fl_FadeOut(getChildByName(element.name)); 
    //   ^^^^^^^^^^^^^^ 
} 

는 이름으로 DisplayObject를 참조 할 수 있습니다.