Actionscript 3 AS3错误#1034:类型强制失败:

Actionscript 3 AS3错误#1034:类型强制失败:,actionscript-3,flash,types,runtime-error,Actionscript 3,Flash,Types,Runtime Error,我对这个类有一个问题,它抛出一个1034错误:类型强制失败:无法将绿色$转换为flash.display.DisplayObject 我相信它与bg变量有关。 一点点帮助将是非常感激的 谢谢 public var bg1:绿色; 公共变量bg2:红色; 公共变量bg3:蓝色; 公共风险背景:MovieClip; 公共变量bgu arr:数组; 公共变量bg_arr:Array; 公共职能1级(目标:阶段) { bg1=新绿色; bg2=新红色; bg3=新蓝色; bgElements_arr=新

我对这个类有一个问题,它抛出一个1034错误:类型强制失败:无法将绿色$转换为flash.display.DisplayObject

我相信它与bg变量有关。 一点点帮助将是非常感激的 谢谢

public var bg1:绿色;
公共变量bg2:红色;
公共变量bg3:蓝色;
公共风险背景:MovieClip;
公共变量bgu arr:数组;
公共变量bg_arr:Array;
公共职能1级(目标:阶段)
{
bg1=新绿色;
bg2=新红色;
bg3=新蓝色;
bgElements_arr=新阵列(绿色、红色、蓝色);
bg_arr=新数组();

对于(var bg_i:int=0;bg_i您正在尝试添加阶段类构造函数,而不是实例。添加'new'关键字,它将起作用:

for(var bg_i:int =0; bg_i <5; bg_i++)
        {   

            bg= new bgElements_arr[Math.floor(Math.random() * bgElements_arr.length)];

            bg_arr.push(bg);
            target.addChild(bg);

        }

for(var bg_i:int=0;bg_i绿色的类型是什么?它应该是一个电影剪辑。因为它是与库中电影剪辑的链接,所以请尝试target.addChild(bg作为DisplayObject)我想我在bgElements_arr声明中犯了一个错误,我声明了类型而不是变量…我会挖掘这个,谢谢你。在开始时,我将数组声明替换为:“bgElements_arr=新数组(bg1,bg2,bg3);”它起了部分作用,一些元素没有随机出现。你的解决方案修复了所有问题。我很好奇在那里有什么魔力……类和实例之间有区别。你可以使用关键字“new”创建实例,创建另一个类对象。你使用的是库中的类,而不是实例。
for(var bg_i:int =0; bg_i <5; bg_i++)
        {   

            bg= new bgElements_arr[Math.floor(Math.random() * bgElements_arr.length)];

            bg_arr.push(bg);
            target.addChild(bg);

        }