Hauptzeitleiste beschleunigen

Krieter2

Mitglied
Hallo,

Wie beschleunigt man nochmal die Hauptzeitleiste? Leider finde ich den Threat nicht mehr.

Damals ging es um die Alternative einen Film mit seinen Tweens anzupassen ohne in den Eigenschaften die Bildrate zu erhöhen.

Danke schonmal.
 
Hi,

Du kannst mit setInterval die Aktualisierung der Frames beeinflussen. Beispiel:
Code:
// Im ersten Bild der Zeitleiste:
stop();

if (iv == undefined) {
	iv = setInterval(nframe, 20);
}

function nframe() {
	nextFrame();
	updateAfterEvent();
}
Hier wird z.B. - unabhängig von der eingestellten Framerate - alle 20 Millisekunden ein neuer Frame aufgerufen. Soll die Zeitleiste als Loop abgespielt werden, müsstest Du in der Funktion "nframe" noch eine Überprüfung einbauen, ob der letzte Frame erreicht ist und dann wieder zum ersten springen.

Gruß
.
 
Hi,

schonmal nicht schlecht...werd ich in Zukunft bestimmt mal gebrauchen - nur bewirkt diese Funktion eher eine Verlangsamung.

Ich wollte aber eigentlich eine Beschleunigung der Zeitleiste.

Cheers
 
Hi,

es kommt darauf an, welches Intervall Du als zweiten Parameter bei setInterval angibst. Das von mir gepostete Beispiel läuft (eingestellte Framerate: 10fps) bei mir mit 50fps. :confused:

Gruß
.
 
Mmh...ich weiss nicht, bei mir wírd alles nur langsamer:( .

Ich mein, dein Skript gibt doch die Antwort darauf - Zwischen jedem neu aufgerufenem Frame liegt ne Pause dazwischen - 20Millisek - wie du selber gesagt hast.

Klar, dass dann der Film langsamer läuft. Wenn ich bei mir als zweiten Parameter einen höheren Wert eingebe - dann wird die Pause noch länger und der Film noch langsamer.

Warum das allerdings bei Dir umgekehrt der Fall ist verstehe ich nicht.

Cheers
 
Hi,

poste doch bitte mal Deine Datei.

Erklärung: Die "Original"-Zeitleiste schalte ich durch das "stop" ganz aus, definiere statt dessen ein Intervall, das alle paar Millisekunden den nächsten Frame (unabhängig von der Framerate) aufruft. Durch "updateAfterEvent" wird das Bild auch aktualisiert, wenn kein onEnterFrame-Event auftritt.

Gruß
.
 
Hi,

also ich habe normalerweise eine aufwendige Bild zu Bild Animation, die kann ich natürlich hier wegen der begrenzten Dateigröße nicht hochladen.

Deswegen habe ich die swf mit einfachen Vektoren nachgebaut;) . Das Prinzip und die Systematik sind jedoch genau identisch. Ein Movieclip, der sich während des (Vergrößerungs) -Tweens hin und her bewegt. Deswegen werden in meinem Fall 2 Zeitleisten angesprochen.

Die Zeitleiste des MC (hin und her springen) und die der übergeordneten Hauptzeitleiste (Vergrößerung des MC). Dementsprechend habe ich deinen Code ins jeweilig erste Frame beider Zeitleisten hineingelegt, gleichwohl ich irgendwo gelesen hab, das man ein setinterval möglichst nur auf _root legen sollte;) .

Und siehe da..die Animation wird nach deinem Code langsamer...

Cheers
 

Anhänge

Hi,

Dein Script hat gesagt.:
iv = setInterval(nframe, 300);
Ist klar, wenn Du alle 300 Millisekunden (etwa 3x pro Sekunde) einen neuen Frame aufrufst, wird der Film langsamer (~3fps). Probiers mal mit einem Intervall von 30ms, dann hast Du gut 30fps. ;)

Gruß
.
 
Zurück