| |||||||
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) |
| Neuer User Registriert seit: Aug 2003 Ort: Hamm in NRW
Beiträge: 45
| wie bewege ich pixel für pixel eine figur so das sie sich insgesamt 20 pixel bewegt
hallo, ich habe folgendes problemm: ich möchte wenn ich auf die rechte peiltaste drücke, meine spielfigur sich um 20 pixel nach rechts bewegt. aber nicht auf einmal, sonder pixel für pixel bis sie an den 20 angekommen ist. wer könnte mir da einen tip geben danke im vorraus spiki
__________________ Ich mache immer das was ich will, ob das immer richtig ist nezweifle ich !!! |
| | |
| | #2 (permalink) |
| \x3a\x6f\x29 Registriert seit: Apr 2004 Ort: paris
Beiträge: 806
|
Das kommt drauf an, wie schnell sich deine Figur die 20 Pixel bewegen soll. Für gewöhnlich berechnet man eine Velocity, welche die Bewegung angibt. In Flash kann man diese Bewegung dann wunderbar auf n Frames verteilen. Als Beispiel: p0 mit (100|0) bewegt zu p1 mit (200|0) dann wäre vx = 200 - 100 also vx = 100. Rechnet man p0x + 100 erhält man 200. Das wäre aber der Sprung bei einer Frame. Das ganze kann man auf mehrere Verteilen. Dazu teilst du den Wert durch die Anzahl der Frames, die die Animation laufen soll. Also (200 - 100)/10 für 10 frames. Dann rechnest du 10 Frames lang p0x += vx und beim 10ten Frame wird p0x = p1x sein. ActionScript:
Dann in jedem Frame diesen Code ausführen ActionScript:
Ist nur ein kleines Beispiel. Hier habe ich onch einen Uralt-Code für so etwas rumfliegen. http://je2050.de/highlight.php?file=...e/old/tween.as (MovieClip.prototype.tweenTo, der Rest ist unwichtig) |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Aug 2003 Ort: Hamm in NRW
Beiträge: 45
| wer kann helfen
gibt es da nicht eine einfache formel die ich mir auf der instanz meiner spielfigur lege. onClipEvent (enterFrame) {if (Key.isDown(Key.RIGHT)) { HIER EINE FORMEL } }
__________________ Ich mache immer das was ich will, ob das immer richtig ist nezweifle ich !!! |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Aug 2003 Ort: Hamm in NRW
Beiträge: 45
| der code funktioniert leider nur einmal
ich habe mir auf meiner spielfigur-instanz folgenden code gelegt. onClipEvent (enterFrame) { if (Key.isDown(Key.RIGHT)) { this.gotoAndStop(2); } } onClipEvent (enterFrame) { if (Key.isDown(Key.LEFT)) { this.gotoAndStop(3); } } und auf der zeitleiste der spielfigur-instanz folgenden code gelegt bild1) stop; bild2) pixel = 0; this.onEnterFrame = function() { if (pixel<20) { this._x = this._x+2; } else { delete this.onEnterFrame; } pixel++; }; stop(); bild3)pixel = 0; this.onEnterFrame = function() { if (pixel<20) { this._x = this._x-2; } else { delete this.onEnterFrame; } pixel++; }; stop(); wenn ich aber ein 2. mal auf die taste rechts drücke passiert nichts mehr. wo liegt hier der hacken
__________________ Ich mache immer das was ich will, ob das immer richtig ist nezweifle ich !!! |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Mar 2006
Beiträge: 1.573
|
Dein Fehler war das du ja nachdem einmal Rechts gedrückt der MC angehalten wurde du musst also eine Schleife machen hier mal der code: dein_mc: Bild1) ActionScript:
Bild2) ActionScript:
Bild3) ActionScript:
Geändert von _crypto_ (04-04-2006 um 20:48 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |