Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-09-2003, 19:13   #1 (permalink)
confuser
 
Registriert seit: Oct 2001
Ort: Nähe Bonn
Beiträge: 218
Question Anwendung der Easing Equations

Hallo
Wollte mal fragen, ob mir von Euch jemand erklärt, wie man Penners Easing Equations anwendet. Mir geht es da im Speziellen um die Math.easeInOutCirc und die Angaben, die man machen muss...

Ich suche bestimmt schon ne Stunde, auch hier im Forum. Wäre Euch echt SEEEHR dankbar für ne kleine Anleitung
hoferisch ist offline   Mit Zitat antworten
Alt 10-09-2003, 19:14   #2 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Ohne Code keine Ahnung
MacEvil ist offline   Mit Zitat antworten
Alt 10-09-2003, 19:16   #3 (permalink)
confuser
 
Registriert seit: Oct 2001
Ort: Nähe Bonn
Beiträge: 218
was brauchst du von mir?
die funktion?
hoferisch ist offline   Mit Zitat antworten
Alt 10-09-2003, 19:18   #4 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Ja, also der Code von dem du was willst
MacEvil ist offline   Mit Zitat antworten
Alt 10-09-2003, 19:20   #5 (permalink)
confuser
 
Registriert seit: Oct 2001
Ort: Nähe Bonn
Beiträge: 218
sry, klar!

ActionScript:
  1. // circular easing in/out - acceleration until halfway, then deceleration
  2. Math.easeInOutCirc = function (t, b, c, d) {
  3.     if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
  4.     return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
  5. };
hoferisch ist offline   Mit Zitat antworten
Alt 10-09-2003, 20:05   #6 (permalink)
confuser
 
Registriert seit: Oct 2001
Ort: Nähe Bonn
Beiträge: 218
ohje dumme Frage??
hoferisch ist offline   Mit Zitat antworten
Alt 10-09-2003, 20:11   #7 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Huch, sieht ziemlich wirr aus mit dem viele Operatoren & Quadratwurzeln.
Ich würde da sagen einfach mal ausprobieren, wenns keine bessere Dokumentation gibbet
MacEvil ist offline   Mit Zitat antworten
Alt 10-09-2003, 20:13   #8 (permalink)
confuser
 
Registriert seit: Oct 2001
Ort: Nähe Bonn
Beiträge: 218
ich hatte gehofft, die hat schonmal jemand angewandt *seufzt*
hoferisch ist offline   Mit Zitat antworten
Alt 10-09-2003, 20:16   #9 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Hab mal das swf davon angeguckt, aber der Code ist mir zu wild.Da kommt ma nur gut draus wenn mans selber programmiert hat.
Sorry
MacEvil ist offline   Mit Zitat antworten
Alt 10-09-2003, 20:59   #10 (permalink)
anyway
Gast
 
Beiträge: n/a
Penner hat doch in seinen Quelltext Erklärungen ohne Ende reingeschrieben - sowas sollte man sich schonmal durchlesen, bevor man versucht die Funktionen zu implementieren.

Ein Anwendungsbeispiel + Erklärung der Funktionsparameter:

Angenommen sei ein Movieclip auf der Bühne, den Du per easing von a nach b bewegen willst.
Schauen wir uns zunächst die von der Funktion geforderten Parameter an, so steht dort t, b, c, d

t = Zählervariable
b = Ausgangswert
c = Additionswert zum Ausgangswert
d = dauer

Also nimm einen MovieClip, den Du gerne von a - b gemäß der vorgegeben Funktion Math.easeInOutCirc bewegen möchstest, leg ihn auf die Bühne und weis ihm den Instanznamen 'mc' zu.
Dann wirfst Du folgendes Script als Bildaktion in die Zeitleiste:

ActionScript:
  1. Math.easeInOutCirc = function (t, b, c, d) {
  2.         if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
  3.         return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
  4. };
  5. mc.t = 0;
  6. mc.b = this._x;
  7. mc.c = 200;
  8. mc.d = 150;
  9. mc.onEnterFrame = function () {
  10. var t = this;
  11. if (t.t<t.d) {
  12. t._x = Math.easeInOutCirc(t.t++,t.b,t.c,t.d);
  13. } else {
  14. trace("fertich getweent!")
  15. delete this.onEnterFrame;
  16. }
  17. }

...und sieh was passiert.

PS: lies Dir zu den Codeteilen, die Du siehst aber nicht ganz verstehst auch ruhig mal die AS-Referenz durch - die gibt zu vielen Dingen aufschluss..

anyway.

Geändert von anyway (10-09-2003 um 21:01 Uhr)
  Mit Zitat antworten
Alt 12-09-2003, 14:41   #11 (permalink)
confuser
 
Registriert seit: Oct 2001
Ort: Nähe Bonn
Beiträge: 218
hey, danke für deine antwort!
ich muss mich hierzu vielleicht verteidigen, dass ich von scripting nicht viel ahnung habe. ich habe nur versucht anzuwenden und als ich die funktionen von penner gesehen habe, kam nur noch bahnhof. ich wusste auch nicht, dass man die schleife dazu selbst setzen muss und so. und da ich etwas im stress mit der lösung dazu war, hab ich einfach gefragt.

aber ich werde mich bessern, oder in zukunft früher auf die suche nach lösungen zu meinen problemen gehen

ALSO VIELEN DANK NOCHMAL
das tweening sieht übrigens wirklich genial aus
hoferisch ist offline   Mit Zitat antworten
Alt 16-10-2003, 17:02   #12 (permalink)
Jüngeres Mitglied
 
Registriert seit: Oct 2001
Beiträge: 67
Hab mal eine andere Funktion in dein Script zu Penner eingesetzt. Funktioniert nicht. Mit keiner anderen???

Woran kann das liegen?
enrico ist offline   Mit Zitat antworten
Alt 16-10-2003, 17:04   #13 (permalink)
Jüngeres Mitglied
 
Registriert seit: Oct 2001
Beiträge: 67
Ich bin ja so blöde! Sorry vergeßt es bitte ganz schnell...
enrico ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 09:42 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele