0

我有这个类的问题,它会引发 1034 错误:类型强制失败:无法将 Green$ 转换为 flash.display.DisplayObject。

我相信它与 bg 变量有关。一点帮助将不胜感激谢谢

    public var bg1:Green;
    public var bg2:Red;     
    public var bg3:Blue;        
    public var bg:MovieClip;
    public var bgElements_arr : Array;
    public var bg_arr : Array;

    public function Level1(target:Stage) 
    {

        bg1 = new Green;
        bg2 = new Red;
        bg3 = new Blue;
        bgElements_arr = new Array(Green, Red, Blue);
        bg_arr = new Array();

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

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

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

        }
4

1 回答 1

1

您试图在舞台上添加 Class 构造函数,而不是 instance 。添加“新”关键字,它将起作用:

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

        }
于 2013-10-15T20:44:46.937 回答