Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-03-2009, 22:13   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 8
Question zu bestimmten Frame springen + rückwärts abspielen

Hallo,

ich bin neu hier und Flash-Anfänger und habe gleich eine Frage, bei der mir hoffentlich bald jemand helfen wird. (Haare zerrauf!)

Ich habe eine automatisch ablaufende Slideshow mit Bilderüberblendungen erstellt (Loop). Mit Hilfe von Buttons kann ich bisher auf der Zeitleiste vorwärts zu bestimmten Frames springen.

Nun will ich aber per Buttons zu bestimmten Frames (zurück)springen und der Film soll sich dann rückwärts abspielen (bis ich auf einen Vorwärts-Button) drücke und der Film wieder andersrum abläuft.)

Im Ergebnis will ich also eine Bilderslideshow haben, deren Bilder sich in einer Endlosschleife überblenden und bei der ich mich mit Vor- bzw. Zurückbuttons vorwärts oder rückwärts bewegen kann. Die Zeit zwischen den Überblendungen (quasi das Standbild) soll beim Vor- oder Zurückspringen übersprungen werden, die Überblendung aber noch sichtbar sein, damit alles schön "weich" läuft. (Ich will also per Button genau bis zur nächsten bzw. vorherigen Überblendung springen)

Es wäre super, wenn jemand eine Antwort hätte!
FräuleinA ist offline   Mit Zitat antworten
Alt 25-03-2009, 00:03   #2 (permalink)
Singleton
 
Registriert seit: Mar 2009
Ort: Berlin / Hamburg
Beiträge: 496
Ich verstehe das Problem nicht ganz. Warum markierst du nicht die ganze Timeline, kopierst sie, fügst sie dann wieder ein und klickst dann mit rechts drauf und dann auf "Reverse Frames"?

Dann hast du die gleiche Animation nochmal in rückwärts und musst dann den "Zurück" Button nur noch so einstellen, dass er dann zu den entsprechenden Frames springt...

Eine andere Variante wäre natürlich mit movieClip.prevFrame(); zu arbeiten, aber die oben genannte Variante ist ohne zusätzliches Wissen als das, dass du schon hast möglich...
shredding ist offline   Mit Zitat antworten
Alt 25-03-2009, 06:51   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 8
Hallo shredding,

vielen Dank für Deine Antwort. Eigentlich gar keine schlechte Idee, die Timeline umzudrehen!

Ich will nun aber, obwohl ich noch wenig Wissen hab, das Ganze über Action Script lösen. Einfach weil ich mich ein wenig an AS wagen will und so auch eine saubere Lösung für zukünftige Projekte hätte. Ich denke, es müsste auch nicht schwer sein. Die Bausteine dazu hab ich ja, nur bekomme ich es nicht in einer Anweisung hin, dem Button zu sagen "Springe zu Frame soundso und spiele den Film dann rückwärts ab".

Meine Bausteine sind:

on(release){
gotoAndPlay(Frame soundso)}
(damit habe ich das vorspringen realisiert)

und

movieClip.prevFrame()


Hast Du vielleicht noch eine AS Lösung für mich? Wäre einfach super!
FräuleinA ist offline   Mit Zitat antworten
Alt 25-03-2009, 07:13   #4 (permalink)
alter User
 
Benutzerbild von Marcellus
 
Registriert seit: Jun 2001
Ort: GE
Beiträge: 416
Hallo,
as1, as2 oder as3?
__________________
Gruss
Marcellus

Ich bin nicht mehr jung genug, um alles zu wissen.(O.Wilde)

Ein Mensch weiß nicht, was er weiß, bevor er weiß, was er nicht weiß.(T.Carlyle)
Marcellus ist offline   Mit Zitat antworten
Alt 25-03-2009, 07:30   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 8
Hallo Marcellus,


AS 2 reicht völlig.
FräuleinA ist offline   Mit Zitat antworten
Alt 25-03-2009, 07:30   #6 (permalink)
Singleton
 
Registriert seit: Mar 2009
Ort: Berlin / Hamburg
Beiträge: 496
Hey,

Ich bin mir nicht sicher ob die Lösung so unbedingt unelegant ist.

ich bin auch neu bei AS, allerdings 3. Dein Code sieht nach 2 aus, richtig? Da bin ich etwas überfragt.
shredding ist offline   Mit Zitat antworten
Alt 25-03-2009, 07:55   #7 (permalink)
alter User
 
Benutzerbild von Marcellus
 
Registriert seit: Jun 2001
Ort: GE
Beiträge: 416
tja, um ActionScript zu lernen ist dieses Projekt doch wunderbar. Allerdings würde ich an deiner Stelle dann auch mit as3 anfangen. Warum am Anfang mit einer "veralteten" Sprache beginnen?
Ich bin auch gerade dabei mich mit as3 zu beschäftigen und der Sprung von as2 nach as3 ist nicht zu vergleichen mit dem von as1 zu as2!
Außerdem würde ich mir eine grundsätzlich neue Struktur deiner Anwendung überlegen. Wie zB das dynamische Laden der Bilder.
Allerdings wirst Du mit dem Vorschlag von shredding zu einem schnelleren Ergebnis kommen
__________________
Gruss
Marcellus

Ich bin nicht mehr jung genug, um alles zu wissen.(O.Wilde)

Ein Mensch weiß nicht, was er weiß, bevor er weiß, was er nicht weiß.(T.Carlyle)
Marcellus ist offline   Mit Zitat antworten
Alt 25-03-2009, 08:22   #8 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 8
Also ich werde es jetzt erstmal mit shreddings Vorschlag versuchen.

Ich glaube, alles was ich mir bisher so zusammen gebastelt habe mit AS, war AS 2. An das dynamische Laden von Bildern traue ich mich noch nicht ran, das hebe ich mir für das nächste Mal auf. Jetzt muß ich erst mal dieses Projekt fertig bekommen. Uff.

Mit AS 3 habe ich mich noch nicht beschäftigt. Ich gooogle mal bei Gelegenheit, welche Unterschiede es gibt.

Ansonsten, wer noch eine AS 2 Lösung hat - nur heraus damit.
FräuleinA ist offline   Mit Zitat antworten
Alt 25-03-2009, 08:46   #9 (permalink)
alter User
 
Benutzerbild von Marcellus
 
Registriert seit: Jun 2001
Ort: GE
Beiträge: 416
ok, dass heißt, Du müsstest abfragen, wo der Abspielkopf sich gerade befindet (_currentFrame), dann müsstest Du wissen wo die letzte oder nächste Überblendung anfängt. Das setzt voraus, dass die Abstände zwischen den Überblendungen immer gleich sind. mit den beiden Werten könntest Du die Position zur vorherigen oder zur nächsten Überblendung ausrechnen und dann hinspringen.
Dann brauchst Du noch mit deinen Button eine Funktion aufrufen, der Du entweder +1 oder -1 übergibst wo dann entweder _root.play() oder über ein onEnterframe prevFrame aufgerufen wird.
__________________
Gruss
Marcellus

Ich bin nicht mehr jung genug, um alles zu wissen.(O.Wilde)

Ein Mensch weiß nicht, was er weiß, bevor er weiß, was er nicht weiß.(T.Carlyle)
Marcellus ist offline   Mit Zitat antworten
Alt 25-03-2009, 10:11   #10 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 8
Hallo Marcellus,

Da quasi auf jedem Bild ein Vor- und Rückwärts-Button liegt, bräuchte ich die Abfrage (_currentFrame) eigentlich nicht, oder?
Ich dachte ich sage jedem einzelnen Zurück-Button einfach "geh mit dem Abspielkopf auf Frame soundso und spiele ihn dann rückwärts". Oder liege ich da total daneben??????

Ich könnte Deinen Vorschlag so auch nicht umsetzen, da ich noch ganz doof in Flash bin. Oh je, ich kriegs nicht hin. Verzweifel.

Grüße
FräuleinA ist offline   Mit Zitat antworten
Alt 25-03-2009, 10:30   #11 (permalink)
alter User
 
Benutzerbild von Marcellus
 
Registriert seit: Jun 2001
Ort: GE
Beiträge: 416
jetzt verstehe ich Dich nicht. Du arbeitest doch auf der Zeitleiste mit Bewegungstweens, oder?
Dann hast Du an bestimmten Stellen auf der Zeitleiste "Schlüsselbilder" eingefügt auf denen Button liegen, richtig?
Wenn Du nur vor- und rück-wärts spielen willst, brauchst Du natürlich kein _currentFrame abfragen. Aber was passiert, wenn Du dich gerade kurz vor dem Tweening befindest? Dann klickst du auf Rücklauf und es passiert erstmal nix, weil er ja bis zum vorherigen Tweening zurückspielen muss.
Oder läuft der Wechsel gar nicht automatisch weiter, wenn Du einmal geklickt hast?
Zitat:
Ich habe eine automatisch ablaufende Slideshow...
__________________
Gruss
Marcellus

Ich bin nicht mehr jung genug, um alles zu wissen.(O.Wilde)

Ein Mensch weiß nicht, was er weiß, bevor er weiß, was er nicht weiß.(T.Carlyle)
Marcellus ist offline   Mit Zitat antworten
Alt 25-03-2009, 11:01   #12 (permalink)
Neuer User
 
Registriert seit: Mar 2009
Beiträge: 8
Hi,

ja richtig, ich mache die Überblendungen mit Alphawert über Bewegungstweens. Wenn ich keinen Button anklicke läuft die Slideshow in einem Loop automatisch ab.

Dann liegt quasi auf jedem Bild ein extra Button, den ich bisher sage "gehe mit dem Abspielkopf zu Frame soundso". Ist der Abspielknopf durch den Klick auf den Button vorwärts gesprungen, läuft der Film weiter, was er auch soll.

Mit den Buttons will ich quasi bis zur nächsten oder vorherigen Überblendung springen und das "Standbild" (d.h. der Abschnitt auf der Zeitleiste bei der keine Überblendung gezeigt wird, überspringen!!!). Das ist eine Notlösung, aber anders bekomme ich es nicht hin. Ziel ist also sich innerhalb einer ablaufenden Bilderüberblendung optional vorwärts- und rückwärts bewegen zu können, wobei die Überblendungn aber sichtbar sein sollen. Der Film soll also immer laufen, nur das ich mit den Butons die Richtung ändern kann und den Weg zwischen den Überblendungen verkürzen kann.

Ich hoffe, ich hab das jetzt nicht zu unklar formuliert.


Grüße
FräuleinA ist offline   Mit Zitat antworten
Alt 25-03-2009, 11:33   #13 (permalink)
alter User
 
Benutzerbild von Marcellus
 
Registriert seit: Jun 2001
Ort: GE
Beiträge: 416
dann hatte ich Dich doch richtig verstanden und es gilt das, was ich im vorletzten Beitrag geschrieben habe...
__________________
Gruss
Marcellus

Ich bin nicht mehr jung genug, um alles zu wissen.(O.Wilde)

Ein Mensch weiß nicht, was er weiß, bevor er weiß, was er nicht weiß.(T.Carlyle)
Marcellus ist offline   Mit Zitat antworten
Alt 25-03-2009, 11:52   #14 (permalink)
alter User
 
Benutzerbild von Marcellus
 
Registriert seit: Jun 2001
Ort: GE
Beiträge: 416
Du hast zwei Button, die die gleiche Funktion aufrufen.
Der eine Button übergibt die Zahl 1 der andere -1.
Nehmen wir mal an. dass Du für das Standbild 40 Frames hast und die Überblendung 20 Frames dauert. Dann hast Du für jedes Bild 60 Frames.
Jetzt brauchst Du Variablen: curFrame = wosichderKopfbefindet / abstand = derAbstandzwischendenBildern (in diesem Fall 60) / tweenHaelfte = HaelftedesTweens (in diesem Fall 10)
Wenn Du jetzt bei Frame 325 bist, rechnest Du erstmal aus wo Du hin musst.
325/60 = 5,4..
Jetzt musst Du mit einer if-Abfrage klären ob Du vor oder zurück willst, ob Du auf oder abrunden musst. Danach mit 60 multiplizieren und HaelftedesTweens zuzählen oder abziehen. Dann hast Du deinen Ausgangspunkt auf den Du springen musst.
__________________
Gruss
Marcellus

Ich bin nicht mehr jung genug, um alles zu wissen.(O.Wilde)

Ein Mensch weiß nicht, was er weiß, bevor er weiß, was er nicht weiß.(T.Carlyle)
Marcellus ist offline   Mit Zitat antworten
Alt 25-03-2009, 12:19   #15 (permalink)
alter User
 
Benutzerbild von Marcellus
 
Registriert seit: Jun 2001
Ort: GE
Beiträge: 416
(musste gerade mal was arbeiten)...in der gleichen if-Abfrage hast Du dann entweder _root.play() oder eine onEnterFrame-Funktion mit prevFrame(). Den Rest brauchst Du Dir nur noch in der Hilfe zusammensuchen.
Viel Spaß beim coden
Bei konkreten Fragen: fragen...
__________________
Gruss
Marcellus

Ich bin nicht mehr jung genug, um alles zu wissen.(O.Wilde)

Ein Mensch weiß nicht, was er weiß, bevor er weiß, was er nicht weiß.(T.Carlyle)
Marcellus ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
abspielen, frame, rückwärts, slideshow, springen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:41 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele