MC flüssig bewegen ?

C4T

Erfahrenes Mitglied
Hi,

habe beim durchsuchen des Forums nichts zu dem Thema gefunden.
Und zwar will ich als Beispiel ein MC von links nach rechts per AS bewegen.
Wenn ich es per Tween mache, wirds nicht so flüssig, ausser ich stelle 40 BPS ein, das will ich aber nicht.
Frage: Ist es möglich auch bei 12 BPS eine flüssige Animation zu erstellen und wenn ja, wie würde das AS dazu aussehen ?
Ich bekomme das einfach nicht auf die reihe.

Grüß,
C4T
 
Hi. Dass du zu dem Thema "movieClips mit AS bewegen" nichts gefunden hat kann ich nicht glauben.. Das hatten wir hier schon 1000 mal..

Zu deinen 12 fps: Das menschliche Auge/Gehirn braucht immer mindestens 24 Bilder pro Sekunde um eine Flüssige Bilderfolge zu erkennen. Alles was darunter liegt sieht für uns automatisch ruckelig aus.
Weiß jetzt nicht warum du nicht mehr als 12 Fps einstellen möchtest, aber eventuell kannst du AS workarounds basteln, mit dem setInterval(); Befehl. Lies dir dazu mal was hier im Forum, oder besser noch in der F1 Hilfe in Flash durch.

sancho
 
Hi sancho,

natürlich habe ich diverse Sachen gefünden was AS betrifft, aber keines davon hat irgendwie zu meiner Problematik gepasst.

Die 12 fps müssen ja nicht unbedingt sein (war nur wegen der Zeitleiste - Platztechnisch gesehen), nur hab ich um 4 Ecken mal gehört, dass es so auch gehen soll, aber dann halt speziell mit AS.

Bedeutet das, ich sollte grundsätzlich 24 fps nehmen, wenn ich sachen animiere ? Bzw. was bringt es eigentlich, wenn ich mehr als 24 Eingebe, wenn ich doch eh nur 24 fps wahrnehmen kann ?

By the Way, ich werd das mit dem setInterval mal testen.
Danke !

Gruß
C4T
 
Hi,

Du kannst auf jeden fall mehr als 24 FPS nehmen. Aber darunter ist ein Tween einfach ruckelig. Je mehr FPS, desto "flüssiger" erscheint die Animation, weil mehr bilder in gleicher Zeit = feinere Abstufungen.

Wenn du die bewegung per AS animierst spielen die FPS fast keine Bedeutung mehr. Schau doch mal im Zusammenhang mit FOR - Schleifen oder onClipEvent(enterFrame). Damit läst sich ein MC bewegen, unabhängig von den FPS, aber von der Rechenleistung des PCs oder MACs.
 
onClipEvent(enterFrame). Damit läst sich ein MC bewegen, unabhängig von den FPS,[...]
Das stimmt so nicht ganz: onEnterFrame wird eben mit jedem Frame (abhängig von der Framerate) aufgerufen. Um trotz niedrigen Frameraten eine "flüssige" Bewegung zu realisieren, kannst Du mit setInterval und updateAfterEvent arbeiten. Letztere Funktion "zwingt" Flash zum Neuzeichnen der Grafik, auch wenn grade kein Frame "ansteht".

Beispiel: Ein eigener Mauszeiger lässt sich mit onMouseMove und updateAfterEvent flüssig bewegen, auch wenn mit sehr niedrigen Frameraten gearbeitet wird:
PHP:
this.onMouseMove = function() {
    MauszeigerMC._x = _xmouse;
    MauszeigerMC._y = _ymouse;
    updateAfterEvent();
}

Gruß

.
 

Neue Beiträge

Zurück