| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Mar 2009
Beiträge: 8
|
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! |
| | |
| | #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... |
| | |
| | #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! |
| | |
| | #7 (permalink) |
| alter User 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) |
| | |
| | #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. |
| | |
| | #9 (permalink) |
| alter User 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) |
| | |
| | #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 |
| | |
| | #11 (permalink) | |
| alter User 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:
__________________ 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) | |
| | |
| | #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 |
| | |
| | #13 (permalink) |
| alter User 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) |
| | |
| | #14 (permalink) |
| alter User 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) |
| | |
| | #15 (permalink) |
| alter User 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) |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| abspielen, frame, rückwärts, slideshow, springen |
| Themen-Optionen | |
| Ansicht | |
| |