Anzeige

Aufbau einer interaktiven Flash Datei

uwek

Grünschnabel
#1
Hallo,


ich steh noch am Anfang mit Flash und habe mal für eine konkrete Sache ein paar Fragen.
Ich habe 3 Szenen erstellt mit je 3 kleinen Animationen, jede einzelne Szene läuft prima.
Nun wollte ich das ganze über eine ComboBox navigieren. Es sollte so aussehen, der Flash Film öffnet sich und Szene 1 wird in einer Schleife abgespielt, über die ComboBox wählt der User einen Eintrag und der zweite oder dritte oder wieder der erste Film wird dann entsprechend ausgewählt und abgespielt.
Das Beschriften der Box habe ich geschafft.
Nun meine Fragen

- ist das besser wenn man mit Szenen arbeitet, übersichtlicher ist das schon, oder sollte man das ganze in einer Szene belassen?
- die Combo Box, sollte die in einer Extra Szene mit rein oder sollte die in alle Szenen mit rein oder nur auf der ersten?
- Wie komme ich in der Combo Box dahin wenn ich einen Eintrag aufrufe das mir dann entsprechend Szene 1, 2 oder 3 abgespielt wird?

Vielleicht ist auch meine Vorgehensweise die völlig falsche.
Es wäre schön wenn jemand helfen könnte.

Beste Grüße uwek

Flash CS5.5
 
Zuletzt bearbeitet:

kalterjava

Erfahrenes Mitglied
#2
Hi Uwek,

um dir die restlichen Fragen auch gleich zu beantworten - mach am besten alles in einer Szene, dann hast du später keine Probleme. Kannst ja so vorgehen, dass alles was in deiner jetzigen Szene 1 nun in den Bildern 1-20 läuft, Szene 2 wird 21-40 und Szene 3 41-60. Nur als Beispiel. Jedes mal hinten ein stop(); setzen und du hast den gleichen Effekt.
 

uwek

Grünschnabel
#3
Okay,

besten Dank für deine Hilfe, jetzt liegt alles in einer Szene.
Der nächste Schritt wäre der, das wenn die Flash Datei geöffnet wird eine Loop Animation von
Bild 0 - 20 abgespielt werden soll.
Danach wäre die Zuordnung der ComboBox dran, in der ComboBox sind 3 Einträge, beim Klicken
auf den ersten Eintrag soll auf Bild 1 in der Zeitleiste gesprungen werden und ein Loop von Bild 1-20
abgespielt werden. Beim zweiten das selbe aber es soll auf Bild 21 gesprungen werden und ein Loop soll
von Bild 21-40 abgespielt werden. Beim dritten Eintrag auf Bild 41 und wieder ein Loop von bild 41-60.

Danke uwek
 

kalterjava

Erfahrenes Mitglied
#4
Hi,

du setzt bei Bild 20 ein gotoAndPlay(1)
du setzt bei Bild 40 ein gotoAndPlay(21)
du setzt bei Bild 60 ein gotoAndPlay(41)

Wichtig ist, hast du vor etwas an der Bildanzahl zu verändern? Ggf. arbeitest du gleich mit Bildnamen
und gibst Bild 1 die Bezeichnung "ani1" Bild 21 die Bezeichnung "ani2" und Bild 41 die Bezeichnung "ani3"

Die Komboboxeinträge bekommen die selbe gotoAndPlay() Anweisungen also die Bildnummer wie oben oder eben den Bildnamen "ani1" usw...

LG
 

uwek

Grünschnabel
#5
Danke für die Hilfe.

Die GotoAndPlay Anweisungen in der Zeitleiste eingetragen das funktioniert.
Zur ComboBox
über die Komponenten in eine Ebene gezogen und plaziert
in den Eigenschaften, Komponentenparameter unter dataProvider die entsprechenden Einträge
gemacht. Das heißt 3 Labels angelegt, ihnen Namen vergeben und unter Data die "gotoAndPlay"
Anweisungen eingegeben ist da so richtig? Oder was muß ich noch mit der ComboBox machen.

Beste Grüße uwek
 

kalterjava

Erfahrenes Mitglied
#6
Hi,

Gut! Dann hast du es ja fast geschafft.

Nein, so einfach geht es leider nicht. Du brauchst eine Funktion, die darauf reagiert, wenn der List-Eintrag geändert und angeklickt wird.
Zuerst importierst du die Combobox-Klassen ganz oben in deinem ActionScript-Bild auf Bild1:

PHP:
import fl.accessibility.ComboBoxAccImpl;
import fl.controls.ComboBox;
import fl.data.DataProvider;
Dann fehlt noch diese Funktion. Heißt, du trägst bei Data beim Eintrag Nr. 1 eine 1, beim Eintrag Nr. 2 eine 2 und beim Eintrag Nr. 3 eine 3 ein.

Wenn z.B. Eintrag Nr. 2 vom User angeklickt wurde, so springt er in die switch-Anweisung und führt das aus, was unter case:"2" steht usw.

Mit der untersten Zeile hängst du die Funktion an deine ComboBox. Du musst der ComboBox einen Namen im Eigenschafts-Feld geben. Bei mir ist das hier "meineCombobox"

Ach so, kennst du dich ein wenig mit der Programmiersprache ActionScript 3 aus? Oder sind das alles Böhmische Dörfer für dich - sprich kommst du mit den Anweisungen klar?

PHP:
function comboboxListener(event:Event):void {
		switch (event.target.selectedItem.data) {
		case "1" :
			gotoAndPlay(20);
			break;
		case "2" :
			gotoAndPlay(40);
			break;
		case "3" :
			gotoAndPlay(60);
			break;
		default :
			gotoAndPlay(20);
			break;
	}

}

meineCombobox.addEventListener(Event.CHANGE,comboboxListener);
 
Zuletzt bearbeitet:

uwek

Grünschnabel
#7
Hallo,

der Grünschnabel sagt herzlichen Dank.
Wie gesagt ich fang erst an mit Flash, was die grafische Sache angeht, geht das schon halbwegs.
Auch deinen Code habe ich verstanden und auch entsprechend eingesetzt, das läuft jetzt
so wie es sein soll.
Aber mit AS3 muß ich erst anfangen, da geht außer ein paar einfachen Befehlen noch gar nichts,
aber das wird schon.
Eine letzte Sache noch, im letzten Abschnitt ab Bild 41 passiert folgendes, es läuft dort ein animierter
mc ab der eine Sinuskurve darstellt, es sieht dann so aus als ob die Welle sich von Links nach
Rechts bewegt.
Ab Bild 41 lass ich auch einen Slider einblenden damit soll die Farbe der Welle und die Skalierung der Welle
geändert werden können.
Mit dem Verschieben des Sliders von Links nach Rechts soll sich die Farbe der Welle stufenlos von
Schwarz nach Rot nach Grün nach Blau und ganz Rechts wieder schwarz (RGB) ändern lassen.
Gleichzeitig wird die Welle zusammengedrückt von der Breite her, heißt Slider ganz Links die Wellen
sind ganz langgezogen, Slider ganz Rechts die Welle ist richtig zusammengedrückt.

Oh hoffentlich versteht das einer was ich meine, im Grunde genommen muß ich irgendwie über
den Slider an die Farbeinstellungen und die Skalierung des mc kommen.

Wenn du nochmal schauen könntest....

Danke uk
 

uwek

Grünschnabel
#8
Okay,

hier eine Beispiel Datei und eine Grafik, die das sicherlich einfacher darstellt.
Wenn die Szene geöffnet wird, soll der Slider mittig stehen, so wie oben im Bild.
Für den Slider den Code habe ich aus einem anderen Forum, so Recht anfangen kann ich damit
aber noch nichts. Bitte das Bild ganz groß klicken, sonst ist das schlecht zu sehen.

Kann nochmal jemand drüberschauen, die Datei ist Flash 5.


danke uwek
 

Anhänge

kalterjava

Erfahrenes Mitglied
#9
Hi

den Slider bekommst du beim Start so in die Mitte (bez. auf deine Datei):

PHP:
import flash.events.Event; 
import flash.geom.ColorTransform; 
sl.maximum = 100;
sl.minimum = 0;
sl.value = 50;
sl.snapInterval = 5;
sl.tickInterval = 10;
stop();
VG
 

uwek

Grünschnabel
#10
Danke für deine Hilfe.
Jetzt fehlt bloß noch die richtige Veränderung der Farbe und die gleichzeitige Skalierung der Welle.
Es ist ja schon etwas AS drin, aber das funktioniert nicht so wie ich das möchte.

Könntest du nochmal schauen.

Danke uwek
 
Zuletzt bearbeitet:
Anzeige
Anzeige