AS Step by Step

gygra

Mitglied
MoinMoin,

ich bräuchte mal eine Step-by-Step Hilfe, wie man das AS richtig und sinnig aufbaut. Ziel ist ein "einfacher?" Überblendeffekt mit Bildern die aus einer externen Quelle geladen werden. Ich hab mich schon reichlich durchs Forum gefräst und auch einiges zum Thema gefunden, was mir aber fehlt ist das Verständnis für die Skripte.

Gedacht hatte ich an zwei Ebenen + eine AS Ebene.
In die untere wird in einen MC01 das erste Bild (abc.gif) geladen (bei Keyframe"Anfang"). In die obere wird in MC02 das zweite Bild (def.gif) geladen und mittels Alpha über abc.gif geblendet(bei Keyframe"Blende"). Jetzt wird bei Keyframe"EndOfLoop" def.gif an MC01 übergeben und zu "Anfang" geloopt, wo MC02 ghi.gif lädt und über def.gif blendet, etc, etc...

Soweit so gut? Aber wie baut man das jetzt auf? Ich komme mehr aus dem gestalterischen Gehege und tue mich mit der mathematisch-logischen Denke etwas schwer.
Ich brauche eine Function(), die das Bild lädt, eine Variable, die die Anzahl der Bilder überprüft und eine Schleife, die die Variable soweit hochzählt, bis als letztes wieder Bild abc.gif geladen wird. (So stelle ich mir das zumindest vor). Wie fängt man jetzt am sinnigsten an?
Wäre schön, wenn mir das mal jemand wirklich von Grund auf erklären könnte, wie´s geht
Danke schon mal im Voraus
 
Hi,

grade bei so etwas (Bilder dynamisch aus externen Quellen laden) sollte man keinesfalls mit Zeitleisten und Frames arbeiten: Es gibt dabei so viele Besonderheiten zu beachten (z.B. was passiert mit einem Container, in den ein Bild geladen wurde, wenn er ein neues Schlüsselbild betritt?), dass Du ohne um einiges besser dran bist.

Ich poste Dir nachher gerne ein nachvollziehbares (und kommentiertes) Beispiel, wie Du das gewünschte mit AS und nur einem Frame auf der Hauptzeitleiste umsetzen kannst.

Gruß
.
 
Hi,

im Anhang findest Du ein exemplarisches Beispiel, das nur aus AS-Code besteht. Die Bilder werden vorgeladen und nacheinander (in einer Schleife) gegeneinander überblendet.

Gruß
.
 

Anhänge

  • fadeImages.fla
    45,5 KB · Aufrufe: 211
Hi,
erstmal Danke für die Arbeit, die du dir gemacht hast, aber sorry jetzt versteh´ ich nur noch Bahnhof.:confused: Ich dachte mir ja schon, dass MEINE Idee kompliziert wird, aber bei dem Skript blicke ich leider überhaupt nicht durch. Ich hab jetzt einfach mal fünf Bilder in den Ordner zur .fla gepackt und deren Namen in das images Array eingegeben. Da krieg ich aber nur ein weisses Fenster und ein zweites Fenster, in dem "GO" steht. Vor allem seh´ ich aber massive Schwierigkeiten, wie ich jemals selbst auf so ein Skript kommen soll?!

Vielleicht kannst du mir mal, wenn du Zeit hast etwas näher bringen, WIE du darauf gekommen bist. Wusstest du von vornherein, wieviele und welche Variablen du brauchst und wie die Funktionen aussehen müssen?

Leider hat die Sache noch einen Haken. Wenn ich das Gerüst richtig verstanden habe, werden alle Bilder geladen und dann geht´s los. Wahrscheinlich habe ich die Idee falsch rübergebracht, gemeint war eigentlich, dass die Bilder erst nach und nach innerhalb der laufenden Animation nachgeladen werden, um die Ladezeiten gering zu halten, damit es gleich losgeht und der Betrachter sich den Speicher nicht mit etlichen MBytes vollhauen muss.

Ach, ich bin so dumm...
 
Hi,

das "GO" ist noch eine Testausgabe von mir - die entsprechende Zeile mit der trace-Aktion kannst Du löschen.

Eigentlich solltest Du aber kein leeres Fenster bekommen, sondern die Bilder sehen. Wahrscheinlich hast Du bei der Angabe der Bilderpfade etwas falsch gemacht.

Im Anhang findest Du eine modifizierte Version, die immer das nächste Bild vorlädt. Die Zeitspanne zwischen den Bildern ist dabei mindestens so lange wie die Ladezeit des momentan geladenen Bildes bzw. die eingestelle Intervalldauer (Variable "interval").

Gruß
.
 

Anhänge

  • fadeImages2.fla
    45,5 KB · Aufrufe: 131
Tut sich leider immer noch nix. Kann es daran liegen, dass ich mit flash 8 arbeite?

Meine erste Zeile heisst jetzt

var images = new Array("1.gif", "2.gif", "3.gif"); // Array mit den Bildpfaden

1.gif, 2.gif und 3. gif liegen im selben Ordner wie die .fla. Oder beziehst du dich später noch mal auf die . jpg-Extension? Ich habe allerdings nichts gefunden.


Und wie gesagt, wichtig ist für mich die Erklärung dazu (wenn du Zeit und Lust hast). Bislang hab ich sowas als einfache Anim gebaut, die dann bei ca 20 Bildern so um die 600 kByte hatte, was im DSL-Zeitalter ja noch vertretbar ist. Aber was ist, wenn man mal mit großen Bildern arbeitet, gelle!?
 
Hi,

ich arbeite auch mit Flash 8, speichere aber aus Kompatiblitätsgründen (die meisten User geben ihre Version ja nicht an) für Flash 7.

Da das Einladen von Grafiken im GIF-Format erst ab Flashplayer 8 unterstützt wird, musst Du den Film auch für Flashplayer 8 veröffentlichen: Wähle im Menü "Datei" die Option "Einstellungen für Veröffentlichungen" und dort im Reiter "Flash" die Playerversion 8.

Meinen Code habe ich eigentlich kommentiert - ein Kompletttutorial, das einem Anfänger sämtliche verwendeten Techniken vermittelt (Objektmodell, Referenzierung, Listener, Prototypes, Arrays, Schleifen, Intervalle etc.), kann ich im Rahmen dieses Forums leider nicht anbieten. Die nötigen Grundlagen musst Du Dir selbst mit Hilfe der Dokumentation erarbeiten.

Gerne erkläre ich einzelne Bereiche meines Code noch einmal genauer, wenn Du konkrete Fragen hast.

Gruß
.
 
Hi,
prima, jezt geht´s. Ist nur schade, dass ich jetzt doch einfach nur ein fertiges Script übernehme.
Deine Kommentierungen weiss ich durchaus zu schätzen, es ist nur so, wenn ich eine Fläche berechnen will, aber nicht weiss, dass es in der Mathematik die Multiplikation gibt, wird es schwer in Mathe-Büchern etwas zu finden, dass mir sagt, wie man eine Fläche berechnet, bzw. wenn ich dann eine Definition der Multiplikation finde muss ich schon großes Glück haben, dass dort der explizite Fall der Flächenberechnung erwähnt wird. Habe mal bei Wikipedia nachgeschaut, da wird´s tatsächlich erwähnt, von daher ein schlechtes Beispiel.:(
Ich werde also wohl doch noch mal zu gegebener Zeit nachfragen.
Gruß gygra:)
 
Wie gesagt: ich kann Dir keinen AS-Lehrgang bieten, der alle in diesem Beispiel verwendeten Techniken erklärt. Du wirst mit ihnen (wie wir alle) auf die "harte" Tour Bekanntschaft machen müssen, indem Du die Referenz und die mitgelieferten Tutorials durchgehst, und Deine Fähigkeiten Schritt für Schritt erweiterst (beim Beispiel Arithmetik wäre dass u.a. der Tipp, einen Blick ins Mathebuch zu werfen). ;)

Sobald dabei konkrete Fragen aufrauchen, werden sie von uns natürlich gerne beantwortet.

Gruß
.
 
Zurück