2011-08-19 5 views
0

는 임 정적 타입 flash.display의에 다음과 같은 오류에 값의플래시의 암시 적 강제 값 오류? 어떤 이유로

Implicity 강제 변환을 받고 : DisplayObject를 관련되지 않은 유형 flash.display의에 : 무비 클립

라인을 오류 당신이이 무비 클립을 확신했다하더라도

for(var i:Number=0; i < MapContainer.numChildren; i++) { 
    var item:DisplayObject = MapContainer.getChildAt(i); 
    if(item!=null && item is MovieClip){ // make sure its a movieclip 
     trace('Found movieclip'); 
     addInfoBubble(item); 
     item.addEventListener(MouseEvent.MOUSE_OVER, countryMouseOver); 
     item.addEventListener(MouseEvent.MOUSE_OUT, countryMouseOut); 
    } 

} 

답변

5

아래의 "addInfoBubble (항목)"되는 점은, 컴파일러는 알고하지 않습니다. 변수는 MovieClip으로 입력해야합니다.

변경이 2 개 라인 :

var item:DisplayObject = MapContainer.getChildAt(i); 
if(item!=null && item is MovieClip){ // make sure its a movieclip 

var item:MovieClip = MapContainer.getChildAt(i) as MovieClip; 
if(item){ 
+0

안녕하세요 숀 감사 힙, 그래서 가정 "MapContainer.getChildAt 무비 클립으로 (i)는"유일한 유형 무비 클립의 자식을 검색하는 것이 무엇입니까? – htmlr

+1

예, 'as'연산자는 왼쪽 피연산자가 오른쪽 피연산자의 인스턴스가 아니면 'null'을 반환합니다. 따라서 if 문은 MovieClip이 아닌 경우 건너 뜁니다. –

+0

좋아요! AS 3으로 매일 새로운 무언가를 배우는 감사합니다 :) – htmlr