Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-01-2005, 15:46   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Ort: Schwabenländle
Beiträge: 98
Dynamisches Vor- / Zurückspulen mit Easing

Ich habe einen MovieClip mit 259 Frames. Nun möchte ich diesem Film sagen, er soll zu Frame 100 springen. Wenn ich also in Frame 210 bin, und der Film soll jetzt bis Frame 30 abspielen, müsste der Film 79 Frames abspielen. Und diese Differenz soll er mit Easing abspielen, d.h. zuerst soll der Film schneller und dann langsamer ablaufen, bis er schließlich an Frame 30 stoppt.
Hat jemand eine Idee wie man sowas umsetzen kann? Meine Idee war folgende:

_root.attachMovie("theClip","theClip",100);
ctrl = _root.createEmptyMovieClip("clipcontroller",101);
ctrl.onEnterFrame=function(){
_root["theClip"].gotoAndStop(Math.ceil((_currentFrame-gotoFrame)/5));
}

Ist natürlich quatsch, so gehts nicht, aber vielleicht wird klar wie es gemeint ist.
eddieconnecti ist offline   Mit Zitat antworten
Alt 29-01-2005, 00:35   #2 (permalink)
TheProof
 
Registriert seit: Jan 2005
Beiträge: 30
Wenn ich dich richtig verstanden habe, dann willst du einen "Zurückspuleffekt mit Abbremsen beim richtigen Frame" oder
__________________
HappyCoding->phi_2k("") ;)

Programmieren ist wie küssen: Man kann darüber reden, man kann es beschreiben, aber man weiß erst, was es bedeutet, wenn man es getan hat.
_________
Andree Beaulieu-Green
phi2k ist offline   Mit Zitat antworten
Alt 29-01-2005, 11:16   #3 (permalink)
Ein Alter User
 
Benutzerbild von jotti
 
Registriert seit: Mar 2004
Ort: Österreich
Beiträge: 159
Wann soll er zu frame 100 springen ??


Wiso teilst du den film nicht in mehrere movieclips?? Was ist in den film?

Eine animation ode ein video ??
Ganz so habe ich die frage nicht verstanden.
Was ist mit gotoAndPlay (100) ?
jotti ist offline   Mit Zitat antworten
Alt 29-01-2005, 13:37   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
So etwas über mehrere Frames zu machen ist doch viel zu aufwändig... Das geht viel einfacher über die kleinen easing-Funktionen von Robert Penner.

Schau dir einfach mal die Demos an, lade die entsprechenden Scripte für AS1 oder AS2, wähl eine Routine aus und hol dir aus der jeweiligen Routine die _x- und _y-Eigenschaften deines Objektes. Ist dann alles auf einem einzigen Frame mit einem kurzen und übersichtlichen Script lösbar...
  Mit Zitat antworten
Alt 30-01-2005, 08:04   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Ort: Schwabenländle
Beiträge: 98
Keine Easing Lib, Probelmnicht verstanden...

Na, nix Robert Penner. Es dreht sich definitiv um Frames. Der Grund dafür ist folgender: In dem MC ist ein Objekt abgebildet, das sich während des Films einmal um die eigene Achse dreht. Daher 259 Einzelbilder. Und nun soll man zu Drehung/Winkel/Frame 100 springen können, von wo auch immer der Film gerade steht (_currentframe), aber von eben dieser Position aus mit Easing zur bestimmten Position. Es geht letztlich ja nicht nur um Drehung/Winkel/Frame 100 sondern genauso um Drehung/Winkel/Frame 246 oder Drehung/Winkel/Frame 12 usw.
An und für sich finde ich das jetzt gar nicht so schwer, was es richtig tricky macht ist nur die Tatsache, dass das Ganze ja endlos ist, d.h. man müsste auch von _currentframe 130 zu Drehung/Winkel/Frame 23 springen können, und dabei über die Frames 259 -> 1 gehen?
eddieconnecti ist offline   Mit Zitat antworten
Alt 30-01-2005, 15:34   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ich kann zwar deine Argumentation nicht nachvollziehen, aber zu dem Rückwärtsspielen von MCs kannst du dir ja mal renas Tutorial anschauen.
  Mit Zitat antworten
Alt 30-01-2005, 21:07   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Ort: Schwabenländle
Beiträge: 98
Zur Erklärung:
Ich habe eine Vase genommen, auf einen Drehteller gestellt, und 360 mal aus allen Seiten fotografiert. Setzt man diese Bilder in einen Film zusammen, dreht sich die Vase einmal um die eigene Achse.
Auf der Vase sind einige Merkmale zu finden, die besonders sehenswert sind. Diese Merkmale stehen deshalb als Buttons links vom Film. Klickt man nun z.B. auf den dritten Button, soll die Vase zum Aztekenkrieger drehen und dort stehen bleiben. Klickt man auf den ersten Button, soll sich die Vase bis zum Relief drehen.
Damit das Ganze nicht so fade aussieht, möchte ich den Film nicht einfach nur abspielen und anhalten lassen, sondern ich möchte etwas Schwung in die Drehung bekommen. Klickt man auf den Button, dreht sich die Vase erst schnell und je näher das Merkmal heran rückt, desto langsamer wird die Drehung (Easing).
Ich muss also bei einem Klick den aktuellen Frame wissen (o.k. _currentframe) und den Frame, wo hingespult werden soll. Die Anzahl der Zwischenframes muss dann benutzt werden, um Easing darauf anzuwenden.

_currentframe += (distanceframes-framesdone)/5;

Das Schwierige ist wie gesagt, dass der Film ja nach 360 Frames wieder von vorne anfängt. Denn dann hat sich die Vase einmal um die eigene Achse gedreht.
eddieconnecti ist offline   Mit Zitat antworten
Alt 31-01-2005, 01:08   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Es dreht sich definitiv um Frames.
Nö, das sehe ich nicht so: wenn du sowieso schon alle Bilder in der Bibliothek hast, dann kannst du denen auch Verknüpfungsbezeichner geben, am besten mit fortlaufenden Zahlen, und dann zur Laufzeit in einer Schleife mit attachMovie auf die Bühne laden. Nimm dann noch eine Variable als Schleifenzähler und du kannst das ganze ohne Frames nur durch Hoch- oder Runterzählen der Schleife vor- oder rückwärts abspielen und bei jedem Bild stoppen, das wichtig ist. Die easing-Funktionen kannst du dafür auch abwandeln, indem du statt der Positionswerte die Geschwindigkeit des Abspielens beeinflusst...

Und das ganze - wie von mir vorgeschlagen - auf einem Frame...
  Mit Zitat antworten
Antwort

Lesezeichen

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 06:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele