htm*_*mlr 0 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);
}
}
Run Code Online (Sandbox Code Playgroud)
即使你确定它是一个MovieClip,编译器也不知道.该变量需要输入为MovieClip.
改变这两行:
var item:DisplayObject = MapContainer.getChildAt(i);
if(item!=null && item is MovieClip){ // make sure its a movieclip
Run Code Online (Sandbox Code Playgroud)
至
var item:MovieClip = MapContainer.getChildAt(i) as MovieClip;
if(item){
Run Code Online (Sandbox Code Playgroud)