如何在不设置AS3可见性的情况下显示大量图像?

时间:2017-07-18 14:02:05

标签: arrays image actionscript-3 visibility

我做了一个问答游戏,我希望能够在用户正确回答后立即显示图像。问题是我有一堆问题和图像,设置每个图像的可见性变得乏味。如何优化此过程。我想的可能是将图像放在一个阵列中,但我不知道它是否可能,或者让它出现在我想要的地方。

1 个答案:

答案 0 :(得分:1)

据我所知,问题在于您有N个图像,并且每次在整个集合上进行迭代以设置可见性。在你的情况下,我会(如你所建议的)创建一个这些图像的数组和几个辅助函数。一些基本的例子:

private var imageVector: Vector.<DisplayObject>; // this vector holds all your images
private var currentImage: DisplayObject; // the image that is shown currently

private function createAndFillImages():void {
    imageVector = new Vector.<DisplayObject>();
    imageVector.push(image1); 
    imageVector.push(image2);
    //... etc. it depends on how your images are presented. 
}

private function onAnswerGiven():void {
    const img: DisplayObject = ... // pick the right image here 
    showImage(img)
}

private function showImage(img: DisplayObject):void {
    if (currentImage != null) currentImage.visible = false;
    currentImage = img;
    // ... do the positioning here 
    currentImage.visible = true;
}