| |||||||
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: Jun 2002
Beiträge: 90
| Zart und geschmeidig wie der Robert Penner
Hallo Zusammen, ich stell mir seit l?0Š1ngerem ne frage zu Bewegungsalgorithmen in Actionscript. Um z.B. eine Eigenschaft (position, alpha, ...) eines Objects geschmeidig von Wert A zu Wert B zu bringen benutze ich gerne innerhalb eines enterframe-event folgenden Algorithmus: ActionScript:
Den zielwert_der_eigenschaft halte ich nat¨¹rlich irgendwo auserhalb meiner enterframeroutine zB. _level0.zielwert_der_eigenschaft. Sch?0‹2n und gut - funktioniert auch wunderbar schaut mal zB. hier http://www.gold-wirtschaftswunder.de/vorschau/ F¨¹r folgende spielerei (klikkt auf die kugeln) oder andere Projekte w¨¹rden mir die Algorithmen vom robert penner sehr gut gefallen z.B. ActionScript:
Ich suche nun einen Weg, diesen oder auch andere Penner-Algorithmen auf ?0Š1hnliche Art und Weise anzuwenden wie ich es oben schon mit dem N?0Š1herungsalgorithmus beschrieben habe. Hmm Herr Penner arbeitet mit 4 parametern, die ich leider nicht wirklich verstehe. t current time / current frame b beginning value (w¨¹rde ich als istwert der eigenschaft verstehen) c change value (meint er die differenz zwischen soll und istwert der eigenschaft?) d duration (hier meint er wohl das tempi der animation) Ok mal angenommen ich w¨¹rde f¨¹r meinen einfachen Algorithmus auch ne function schreiben, s?0Š1he diese sicherlich so aus function get_new_value(var soll, var ist){ return ((soll - ist)/12)/1.0; } nun die frage, wird es m?0‹2glich sein dem herrn penner seine function so umzuschreiben, dass ich nur noch die beiden parameter soll und ist bleiben. Wenn das ginge w?0Š1re das so ziemlich der Hammer und w¨¹rde die wahnsinns Macht Aller Geschmeidigkeiten in flash bedeuten. Ich hoffe man hat mich verstanden Und vielleicht wird¡¯s ja ein interessanter thread tyrellinger |
| | |
| | #2 (permalink) |
| Farbe ist Luxus Registriert seit: May 2003 Ort: Köln
Beiträge: 2.405
|
Hi, der Gedanke ist gar nicht schlecht, allerdings kommst du mit zwei Parametern nicht hin. Insbesondere bei EaseInOut-Funktionen nicht. Die Parameter bedeuten im übrigen folgendes: t: ist der Zähler b: der Ist-Wert (allerdings immer der gleiche, sonst gehts schief) c: ist die Änderung (also Soll-ist) d: Anzahl Schritte Beispiel: In 10 Iterationen soll sich ein Objekt von _x = 10 nach _x=100 bewegen. ActionScript:
Du benötigst den Counter insofern auch, als dass du eine Austrittsbedingung für dein onEnterFrame brauchst. Die Anzahl der Schritte ist wichtig, damit die Funktion weiß, wann das easing in und eann out geschehen soll. Also: unter vier Parametern geht es nicht. Bei deiner Funktion mag das noch so sein. Aber Penners Funktionen sind auch insofern richtig gut, als das sie alle (bis auf Ausnahmen mit optionalen Parametern) die gleichen Parameter haben. So kann man in seinem Code schnell mal ein Easing ändern, ohne sich groß Gedanken zu machen. Das ist sehr modular gedacht und somit gut gelöst. Grüße Sascha
__________________ 12:15, press return |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jun 2002
Beiträge: 90
| klingt gut
hey hallo, ok wahnsinn - jetzt ist mir klar wie die methoden mit den 4 parameter einsetzen kann. iss ja auch noch voll cool weil ich ja den zeitraum meiner animation festlegen kann. ich danke und werde bericht erstatten am we. tyrellinger |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jun 2002
Beiträge: 90
| es tut
ok nochmal hallo, es tut! hab jetzt quasi die macht über die robert penner algorithmen. hab es jetzt mal so vorab gebaut: ActionScript:
hier kann man es sich anschauen bitte auf den grünen button 'GRAFIK' klikken und dann die kleinen pfeile in der rechten navi klikken. ich danke nochmal für den ansatz er hat mir wirklich geholfen. Was ich jetzt bischen schade finde, ist dass die algorithmen, die so ein federn erzeugen nicht bei den downloadbaren dabei ist (zb. easingOutElastic) bye tyrellinger |
| | |
| | #5 (permalink) |
| God made me funky.. Registriert seit: Apr 2003 Ort: Bremen
Beiträge: 1.067
|
Ist das nicht die hier?: ActionScript:
__________________ Kunst ist in erster Linie eine Frage der Form und nicht des Inhalts Paul Rand |
| | |
| | #7 (permalink) |
| God made me funky.. Registriert seit: Apr 2003 Ort: Bremen
Beiträge: 1.067
|
direkt aus dem AS von Robert Penner: http://www.robertpenner.com/easing/easing_equations.as /////////// ELASTIC EASING: exponentially decaying sine wave ////////////// // t: current time, b: beginning value, c: change in value, d: duration, a: amplitude (optional), p: period (optional) // t and d can be in frames or seconds/milliseconds
__________________ Kunst ist in erster Linie eine Frage der Form und nicht des Inhalts Paul Rand |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |