2017-07-18 1 views
-1

Ich habe ein Quiz-Spiel gemacht und ich möchte in der Lage sein, ein Bild zu zeigen, nachdem ein Benutzer richtig geantwortet hat. Das Problem ist, ich habe eine Reihe von Fragen und Bildern, dass es mühsam wird, Sichtbarkeit für jedes Bild zu setzen. Wie optimiere ich diesen Vorgang? Ich dachte daran, die Bilder vielleicht in ein Array zu stellen, aber ich weiß nicht wirklich, ob es möglich ist oder um es an dem Ort erscheinen zu lassen, an dem ich es möchte.Wie können viele Bilder angezeigt werden, ohne die Sichtbarkeit in AS3 zu ändern?

Antwort

1

Wie ich verstanden habe, ist das Problem, dass Sie N Bilder haben und Sie jedes Mal über das ganze Set iterieren, um die Sichtbarkeit einzustellen. In Ihrem Fall würde ich (wie Sie vorgeschlagen haben) ein Array dieser Bilder und einiger Hilfsfunktionen erstellen. Einige grundlegende Beispiele:

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; 
} 
+0

Wie fügen Sie Bilder zu imageVector hinzu? – maggotypeach

+0

@maggotypeach Ich habe die Antwort aktualisiert, bitte werfen Sie einen Blick darauf. Hoffe es wurde klarer. Im Allgemeinen hängt es von Ihrer Anwendung und davon ab, wie die Bilder erstellt werden, also gibt es keinen einzigen "richtigen" Weg. – Nbooo

+0

Es tut mir leid für die Newbie Frage aber wie Sie eigentlich ein Bild aufrufen? Müssen Sie die URL des Bildes eingeben? oder machst du ein var image: neues Image()? Wenn ja, wie genau machst du das? – maggotypeach

Verwandte Themen