1118:使用静态类型Object将值隐式强制转换为可能不相关的类型flash.display:DisplayObject

时间:2015-09-16 07:13:22

标签: actionscript-3 flash

我试图从阵列中选择随机照片,然后将它们添加到舞台上购买我在最后一行有这个错误: 1118:使用静态类型Object将值隐式强制转换为可能不相关的类型flash.display:DisplayObject。

Photos = new Array();

        photo2 = new img2();
        photo3 = new img3();
        photo4 = new img4();
        //put those images into an array
        Photos.push(photo2);            
        Photos.push(photo3);
        Photos.push(photo4);

function getRandomElementOf(Photos:Array):Object {
            var idx:int=Math.floor(Math.random() * Photos.length);
            trace(idx);
            return Photos[idx];
        }

    public function addPhoto(e:MouseEvent) {
        trace("clicked compass");


        **stage.addChild(getRandomElementOf(Photos));**

希望尽快得到您的反馈。

2 个答案:

答案 0 :(得分:0)

你不能将一个对象添加到舞台上,在你的情况下,你得到的是一个对象,你不能将它们添加到舞台,添加一个图像加载该图像到<s:Image source=""/>,然后将这个图像组件添加到舞台!

答案 1 :(得分:0)

让你的函数返回一个DisplayObject:

function getRandomElementOf(Photos:Array):DisplayObject 
{
    var idx:int = Math.floor(Math.random() * Photos.length);            
    return DisplayObject(Photos[idx]);
}

或演员:

stage.addChild(DisplayObject(getRandomElementOf(Photos)));