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