| |||||||
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) |
| scriptvermurkser Registriert seit: Apr 2003
Beiträge: 269
| _y bewegen
Hallo! Habe einen Film, den ich per AS bewegen will, mache das folgender maßen film._y --; bewegt sich auch, aber kriegt man das auch noch flüssiger hin? ![]() p.s. außerdem ist mir die Bewegung auch zu langsam, möchte gerne, dass sich der film flüssig und schneller bewegt Geändert von SwKy (15-07-2004 um 09:57 Uhr) |
| | |
| | #2 (permalink) |
| scriptvermurkser Registriert seit: Apr 2003
Beiträge: 269
|
okay. habe jetzt: Speed_Y = 20.0; film._y -= Speed_Y; jetzt bewegt sich das ganze schneller. hab das script in einen frame gelegt. Dafür brauche ich zwei frames, den zweiten mit gotoAndPlay(1); wie mach ichs am besten, damit ich keinen zweiten frame brauche? Oder hat jemand einen anderen Vorschlag? |
| | |
| | #3 (permalink) |
| fly, you fools! Registriert seit: Jun 2003 Ort: Oldenburg
Beiträge: 131
|
du kannst dem film zb über die hauptzeitleiste ein onEnterFrame verpassen: PHP-Code: PHP-Code: |
| | |
| | #4 (permalink) |
| scriptvermurkser Registriert seit: Apr 2003
Beiträge: 269
|
ja super, das funkt. allerdings ruckelt das ganze ganz schön. ich lasse einen fisch von links nach rechts durch das Bild schwimmen. Der Fisch ist in Flash gebaut, die framerate steht schon auf 50 die Bühne ist 800x400, Speed steht auf 40 warum ruckelt das ganze ? das ist doch blöd, ein ruckelnder fisch |
| | |
| | #6 (permalink) |
| scriptvermurkser Registriert seit: Apr 2003
Beiträge: 269
| ups
oh! na das ist ja blöd. Ich dachte er schwimmt dann einfach schneller hab natürlich nicht bedacht, dass er dann einfach größere Sprüge macht. Was mach ich denn dan? Geht das irgendwie, dass er über die Bühne schwimmt und nicht hüpft? |
| | |
| | #7 (permalink) |
| fly, you fools! Registriert seit: Jun 2003 Ort: Oldenburg
Beiträge: 131
|
du musst halt versuchen die balance zwischen einer angemessenen geschwindigkeit und einer gleichzeitig flüssigen bewegung hinzubekommen. dabei musst du natürlich selber sehen welches verhältnis für deine animation am besten ist.
|
| | |
| | #8 (permalink) |
| Freizeitflasher Registriert seit: Jun 2004 Ort: Niederösterreich
Beiträge: 615
|
ja, hohe fps und kleine schritte! aber fps von 30 müsste eigentlich reichen ...? vielleicht braucht was anderes die CPU Ressourcen auf? Nochwas: Für "flüssige" Bewegungen is es nett wenn das ganze Beschleunigt un abbremst. Ein netter Trick ist, eine Zielposition anzugeben, und den Abstand zwischen Objekt und Ziel jeden Frame zu Halbieren, oder zu zweidritteln oder auch 1/20 ... jeden Frame: objekt._x += (ziel_x - objekt._x)/5; mfg |
| | |
| | #9 (permalink) |
| All-rounder Registriert seit: Mar 2004 Ort: Bayerische Rhön
Beiträge: 2.507
|
Und benutze mal zusätzlich: Speed_Y = 5; film.onEnterFrame = function() { film._y -= Speed_Y; updateAfterEvent(); << damit wird es flüssiger };
__________________ -------------------------------- Ich klicke, ergo bin ich. (me) -------------------------------- |
| | |
| | #10 (permalink) |
| - Registriert seit: Jan 2004
Beiträge: 3.002
|
aber auch wieder performance lastiger...@ thebiz
__________________ mfG, Robert Tutorials: [TUTORIAL] XML-Files in Flash einlesen+weiter verarbeiten Steuerung zwischen Zeitleisten & Movieclips [TUTORIAL] MP3-Player (+XML) [TUTORIAL] MP3-Player (+XML) Part II |
| | |
| | #11 (permalink) |
| All-rounder Registriert seit: Mar 2004 Ort: Bayerische Rhön
Beiträge: 2.507
|
Also updateAfterEvent() sollte jeder Rechner noch locker verkraften können. Oder hat noch jemand ne Kiste mit musealem Wert?
__________________ -------------------------------- Ich klicke, ergo bin ich. (me) -------------------------------- |
| | |
| | #12 (permalink) |
| scriptvermurkser Registriert seit: Apr 2003
Beiträge: 269
| ?
Moin! Vielen Dank für die Tipps. Das mit dem updateAfterEvent(); habe ich versucht. habe jedoch nciht den Eindruck, dass es flüssiger läuft. Hab allerdings auch nicht ganz verstanden, was damit erreicht wird, und hab so die wage Vermutung, dass die Wirkung davon abhängt, dass mein Event (also mein schwimmender Hai) auch aufhört udn ich glaube das tut es noch nicht. Ich wollte, dass mein film aufhört, wenn der hai einen bestimmten Punkt erreicht hat, um zu kontrollieren, ob was passiert, hab ich ein trace mit eingabaut. Mein script liegt auf einem frame. gebe ich folgendes ein if (hai._x >= -500){ delete hai; trace("funkt"); } gibt er funkt aus. gebe ich folgendes ein (was ich eigentlich bräuchte) if (hai._x <= -500){ delete hai; trace("funkt"); } gibt er nichts aus. Ich nehme an, das liegt daran, das flash nur einmal, wenn er beim frame ankommt, abfragt. Und da der Fisch bei ca. 30 liegt, also >500 liegt, gibt er es bei >500 aus, aber bis der hai bei <500 ist, wird nicht mehr abgefragt. hab ich das richtig auseinanderklamüsert? Wenn ja, hieße das, ich bräuchte so was wie ne Schleife, damit das Script immer wieder abgefragt wird. Das könnte ich zwar mit einem zweiten frame mit gotoAndStop(1); machen, aber das geht doch bestimmt auch anders, oder? @Alphanimal: das mit dem objekt._x += (ziel_x - objekt._x)/5; hab ich leider überhaupt nicht verstanden , aber das mit dem "...Halbieren, oder zu zweidritteln oder auch 1/20" wäre glaube ich genau das, was ich brauche, oder? Damit könnte ich Speed ja erhöhen, ohne dass er größere Sprünge macht, oder? Könntest du mir das noch mal erklären? |
| | |
| | #13 (permalink) |
| All-rounder Registriert seit: Mar 2004 Ort: Bayerische Rhön
Beiträge: 2.507
|
Also wenn Du ein Objekt hin und her bewegen willst, kannst Du das so machen: PHP-Code:
__________________ -------------------------------- Ich klicke, ergo bin ich. (me) -------------------------------- Geändert von thebiz (16-07-2004 um 10:08 Uhr) |
| | |
| | #14 (permalink) |
| scriptvermurkser Registriert seit: Apr 2003
Beiträge: 269
| aha
vielen Dank, das ist ja nett das script. Es funktioniert auch, habs auch so ziemlich verstanden, nur die erste Zeile, zL = this; was passiert da? wäre nett, wenn du mir das erklären könntest. Ist zwar schön, wenns funzt, aber noch schöner (nich so frustrierend, ist ja schon frustend, dass ich nicht selber auf sowas komme ) wenn ichs auch verstehe. Würde mich also freuen |
| | |
| | #15 (permalink) |
| All-rounder Registriert seit: Mar 2004 Ort: Bayerische Rhön
Beiträge: 2.507
|
Also das zL=this; bedeutet, das ich die Referenz auf die Zeitleiste in der Variablen zL speichere. Du kannst auch _root nehmen. Nur wenn Du dann die .swf woanders einlädst, dann ist _root auf einmal nicht mehr _root. (verstanden?) In Flash7 kann man auch die Funktion lockroot() verwenden. Mit der kenne ich mich aber noch nicht so aus. Schau mal in der Hilfe nach > MovieClip._lockroot. Zur hin und her Funktion ![]() Ich habe auch ein paar Minuten gebraucht, bis ich das so hinbekommen habe, obwohl ich es schon mindestens 1x gemacht habe. Es schleichen sich immer Denkfehler ein. Aber wenn man Dinge nicht ständig macht oder wiederholt, geraten sie in den Hintergrund.
__________________ -------------------------------- Ich klicke, ergo bin ich. (me) -------------------------------- |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |