Flash隐式强制价值错误?

时间:2011-08-19 00:51:16

标签: actionscript-3 flash-cs5

由于某种原因我得到以下错误

  

使用静态类型flash.display:将DisplayObject强制转换为可能不相关的类型flash.display:MovieClip

错误指向的行是“addInfoBubble(item)”下面的

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);
    } 

}

1 个答案:

答案 0 :(得分:5)

即使你确定它是一个MovieClip,编译器也不知道。该变量需要输入为MovieClip。

更改以下两行:

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){