使用数组AS3中的图像分配数组列表中的文本

时间:2015-09-17 06:41:02

标签: arrays actionscript-3 flash

我的问题是:

1-我想将文本链接到图像,文本和图像都在一个数组中。所以,当我从数组中随机获取照片时,我需要显示文本。

2-我想在舞台上显示带有图像的文字,但是如何将文字放在舞台的特定位置。

希望很快得到反馈。

代码:             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);


        //photo1.personDetails;
        //photo1.imageName;
        compass1.addEventListener(MouseEvent.CLICK, addPhoto); 



        //http://www.adobe.com/devnet/actionscript/learning/as3-fundamentals/arrays.html
        var elements:Array = [];
        elements[ 0 ] = [ "A", "B", "C" ];
        elements[ 1 ] = [ "D", "E", "F" ];
        elements[ 3 ] = [ "G", "H", "I" ];
        trace( elements[ 0 ][ 0 ] ); //A

    }

// Pick random Element of an Array Actionscript 3

        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(DisplayObject(getRandomElementOf(Photos)));


    }

1 个答案:

答案 0 :(得分:1)

制作一个你想要显示的数组,而不仅仅是照片。

for (var iPhoto:int = 0; iPhoto < Photos.length; ++iPhoto)
{

    var vector:Vector.<Sprite>() = new Vector.<Sprite>();
    var sprite:Sprite = new Sprite(); // create a "holder" for the images you want
    var textField:TextField = new TextField();
    var photo:Photo = Photos[iPhoto];
    sprite.addChild(photo);
    sprite.addChild(textField);
}
像这样的事情。然后你可以选择随机选择一个包含你想要的所有孩子的精灵。