ERLEDIGT
NEIN
NEIN
ANTWORTEN
11
11
ZUGRIFFE
725
725
EMPFEHLEN
-
hallo....
mach gerade einen anfahrtsplan bei dem es drei verschiedenen zooms gibt,und die übergänge durch shape-tweening animiert sind...bei meiner zoom-in-funktion haut alles super hin,nur bei zoom-out hätt ich gerne genau das umgekehrte...
also dass sich das movie rückwärts abspielt anstatt vorwärts...
gehts sowas?
gruss
kamphi
-
Hi,
das Rückwärtsabspielen von Zeitleisten ist kein Problem:Aufruf z.B.:Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
function playBackwards(timeline, to, loop) { if (timeline == undefined) timeline = this; var from = timeline._currentframe; if (to == undefined || !(to > 0)) to = 1; if (to > from) to = from; if (loop == undefined) loop = false; timeline.playBackwardsHelper.removeMovieClip(); var helper = timeline.createEmptyMovieClip("playBackwardsHelper", timeline.getNextHighestDepth()); helper.onEnterFrame = function() { if (timeline._currentframe > to) { timeline.prevFrame(); } else { if (loop) { timeline.gotoAndStop(from); } else { delete this.onEnterFrame; this.removeMovieClip(); } } } }Code :1 2 3 4 5
playBackwards(DeinMovieClip); // Spielt "DeinMovieClip" bis zum ersten Frame rückwärts ab playBackwards(DeinMovieClip, 10, true); // Spielt "DeinMovieClip" bis zu Frame 10 rückwärts ab und springt dann wieder zum Frame, ab dem die Methode aufgerufen wurde playBackwards(); // Spielt den aktuellen MovieClip rückwärts bis zum ersten Frame ab
Gruß
.Geändert von Tobias Menzel (22.07.07 um 18:10 Uhr) Grund: Flüchtigkeitsfehler korrigiert
-
hab dieses script auch gerade noch verwendet.
Kann das sein das du dort eine Klammer zu viel reingemacht hast
also so if (to > from) to = from; nicht so if (to > from) to = from);PHP-Code:function playBackwards(timeline, to, loop) {
if (timeline == undefined) timeline = this;
var from = timeline._currentframe;
if (to == undefined || !(to > 0)) to = 1;
if (to > from) to = from;
if (loop == undefined) loop = 1;
timeline.playBackwardsHelper.removeMovieClip();
var helper = timeline.createEmptyMovieClip("playBackwardsHelper", timeline.getNextHighestDepth());
helper.onEnterFrame = function() {
if (timeline._currentframe > to) {
timeline.prevFrame();
} else {
if (loop) {
timeline.gotoAndStop(from);
} else {
delete this.onEnterFrame;
this.removeMovieClip();
}
}
}
}
kann das sein?
-
Du hast recht - danke für die Info (Klammer entfernt).

Gruß
.
-
22.07.07 17:22 #5
- Registriert seit
- Jan 2002
- Ort
- Stuttgart
- Beiträge
- 1.911
Feine "Rundumsorglos"-Funktion ... die muss ich mir merken.

Sollteaber nicht eher den Wert 0 haben? Denn wenn man nichts angibt, sollte ja vermutlich auch nicht geloopt werden.PHP-Code:if (loop == undefined) loop = 1;
Oder eben immer alle Parameter beim Funktionsaufruf definieren.
Grüße
RenaKein Support via PN oder Mail ... dafür ist ja das Forum da. :)
-
Hi Rena,
tatsächlich sollte der Standardwert "false" eingesetzt werden - das kommt davon, wenn man "mal eben" eine Funktion eintippt, ohne sie zu testen.
Gruß
P.S.: Die Funktion lässt sich noch erweitern, so dass z.B. Auch über den ersten Frame hinaus abgespielt werden kann (z.B. von Frame 30 über 1 und den letzten zu Frame 40). Sinn würde auch die Anlage als Prototype der MovieClip-Klasse machen - sobald ich dazu komme, poste ich ein Update.
-
22.07.07 21:45 #7
- Registriert seit
- Jan 2002
- Ort
- Stuttgart
- Beiträge
- 1.911
Kein Support via PN oder Mail ... dafür ist ja das Forum da. :)
-
hi
erstmals danke für die antworten...
doch check ichs noch nicht so ganz...auf meiner seite hab ich ein movieclip raufgetan, welches die einzelnen zooms des stadtplanes und dessen übergänge beinhaltet.beim drücken auf meinen "zoom in" button" funktioniert alles wunderbar,da ich die zeitleiste von einem label bis zum nächsten einfach abspielen lasse...
hab mir in meinem 1.frame im movieclip (actionslayer)diese rückwärtslauffunktion definiert,also zuerst gibt es ein stop(); und dann hab ich mir den code reinkopiert der das playBackwads definiert...
sobald ich aber auf einen "zoom out" drücke funktioniert es nicht...es tut sich eigentlich gar nichts...
hab dem button folgende action zugewiesen
on(release){
playBackwards("mein frame label",true);
};
ist wahrscheinlich ein dummer anfängerfehler,versteh aber nicht wo der fehler liegt...
gruss
kamphi
-
Hi,
der erste Parameter der Funktion erwartet kein Frame-Label, sondern eine Referenz auf den MovieClip, der abgespielt werden soll.
Gruß
.
-
hi...
ok,....muss das ganze also anders strukturieren...also mehrere movieclips machen,und diese mit dem instance-name steuern...oder...
kann ich auch eine framenummer als referenz angeben?
gruss
kamphi
-
Hi,
eine Framenummer ist keine Referenz - wozu willst Du auch einen Frame angeben?
Wenn die Zeitleiste, auf der sich der Code befindet, rückwärts abgespielt werden soll, kannst Du als Parameter den Wert this, undefined oder _parent übergeben - je nachdem, ob es sich bei dem Button mit der onRelease-Methode um eine Schaltfläche oder einen MovieClip handelt.
Wenn Du ganz sicher gehen willst, poste einfach Deine .fla - dann können wir den Code für Dich anpassen.
Gruß
.
-
hi..
hab jetzt das alles anders gemacht...wollt den frame eingeben, weil sich bei mir die einzelnen übergange alle im selben movieclip befinden,und ich mit hilfe der buttons durch die zeitleiste mit gotoAndPlay von framelabel zu framelabel die einzelnen tweenings abgespielt habe..
auf jeden fall klappt das ganze jetzt mit dem code....tx
gruss
kamphi
Ähnliche Themen
-
Movie clip nach flv abspielen
Von ponda im Forum Flash PlattformAntworten: 4Letzter Beitrag: 18.03.08, 12:24 -
Movie Rückwärts abspielen hilfe
Von SpAwNaLeX im Forum Flash PlattformAntworten: 13Letzter Beitrag: 12.09.07, 08:06 -
Zufällig movie abspielen.
Von Ardaric im Forum Flash PlattformAntworten: 2Letzter Beitrag: 11.07.06, 12:15 -
Movie clip als Button oder umgekehrt ?
Von babeuf im Forum Flash PlattformAntworten: 3Letzter Beitrag: 19.05.05, 10:32 -
Movie Clips nacheinander abspielen
Von MTMonline im Forum Flash PlattformAntworten: 4Letzter Beitrag: 02.09.04, 21:02





Zitieren


Login





