Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-03-2006, 13:10   #1 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Formel für Kurvenberechnung ändern - zu hoch für mich ;)

Moinsen FF!

Hab vor ner Zeit hier im Forum von jemanden ne nette Formel bekommen, die eine schön bewegung berechnet. Folgendes Script:

PHP-Code:
        if (this._rotation<rotate_to) {
            
this._rotation += (rotate_to-this._rotation)/4;
        };
        if (
this._rotation>rotate_to) {
            
this._rotation -= (this._rotation-rotate_to)/4;
        };
        if (
Math.round(this._rotation) == rotate_to) {
                    
this._rotation rotate_to;
        } 
Dieses Script lässt sich auf jegliche Animationen anwenden. Bewegungen, Skalierungen, Drehungen oder sonst was. Die Werte für die Geschwindigkeit der Bewegung, also die Kurve, sehen z.B. so aus:
1000, 250, 62.5, 15.625, 3.90625, 0.9765625.

Wert wird also smooth kleiner. Nun hätte ich die Kurve gerne geändert, in etwa so:
0.9765625, 3.90625, 15.625, 62.5, 250, 1000, 250, 62.5, 15.625, 3.90625, 0.9765625.

Der Wert wird langsam gesteiert und dann wieder geschwächt. Leider ist mein Mathe und damit Kurvenberechnung recht schwach und muss mich damit hier leider geschlagen geben ... ^^ Könnte mir jemand, der bei sowas Durchblick hat dabei helfen? Vielen Dank!

Gruß,
Dwarf
djdwarf ist offline   Mit Zitat antworten
Alt 25-03-2006, 13:24   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Tag!

Nimm einfach irgendeine Easing-Geschichte. Dann kannst du dir das Rechnen schenken...
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
new 
Tween(this.mc"_rotation"Strong.easeInOut036020); 
Noch einen MovieClip mit dem Instanznamen "mc" auf die Bühne packen und gut...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 25-03-2006, 13:36   #3 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Hi ho Frager!


wow .... was es alles gibt nice
Ist bei mir aber schwer anzuwenden, wäre schon nötig, das irgendwie mit dem Script hinzubekommen, weil ich einen onEnterFrame benötige. Ansonsten aber echt nice!
djdwarf ist offline   Mit Zitat antworten
Alt 25-03-2006, 15:10   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Naja, kannst du ja z.B. zusätzlich nehmen:
PHP-Code:
import mx.transitions.Tween;
import mx.transitions.easing.*;
var 
nt = new Tween(this.mc"_rotation"Strong.easeInOut036020);
mc.onEnterFrame = function() {
    
trace(this._rotation);
};
nt.onMotionFinished = function() {
    
delete mc.onEnterFrame;
}; 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 25-03-2006, 17:07   #5 (permalink)
Neuer User
 
Benutzerbild von Xeef
 
Registriert seit: Sep 2004
Ort: Spain/Ibiza
Beiträge: 942
da ich dieses ganze mathe zeug verdauen muss
hab ich mall ein bischen geubt

ActionScript:
  1. //das ganze nent sich so ehnilich wie "bezierTween"
  2. _root.createEmptyMovieClip("_mc", 0);
  3. Show(1000, 333, 666);
  4. function Show(lenge, Begin, End) {
  5.     _mc.clear();
  6.     _mc.lineStyle(2, 0, 100);
  7.     //von "+= 0.05" hengt es ab wiviele srite es sind
  8.     for (S=0; S<1; S += 0.05) {
  9.         var cx = 3*Begin;
  10.         var bx = 3*(End-Begin)-cx;
  11.         var ax = lenge-cx-bx;
  12.         //
  13.         var S2 = S*S;
  14.         var S3 = S2*S;
  15.         //
  16.         var X = (ax*S3)+(bx*S2)+(cx*S);
  17.         _mc.moveTo(X, 100);
  18.         _mc.lineTo(X+1, 100);
  19.     }
  20. }
  21. //
  22. _root.createEmptyMovieClip("Start", 1);
  23. Start.beginFill(0, 100);
  24. Start.lineTo(20, 0);
  25. Start.lineTo(20, 20);
  26. Start.lineTo(0, 20);
  27. Start.lineTo(0, 0);
  28. Start.endFill();
  29. Start._y = 200;
  30. Start._x = 333;
  31. Start.onPress = function() {
  32.     this.X = _xmouse;
  33.     Start.onEnterFrame = function() {
  34.         this._x -= this.X-_xmouse;
  35.         this.X = _xmouse;
  36.         Show(1000, _root.Start._x, _root.End._x);
  37.     };
  38. };
  39. Start.onRelease = Start.onReleaseOutside=function () {
  40.     this.onEnterFrame = null;
  41. };
  42. //
  43. _root.createEmptyMovieClip("End", 2);
  44. End.beginFill(0, 100);
  45. End.lineTo(20, 0);
  46. End.lineTo(20, 20);
  47. End.lineTo(0, 20);
  48. End.lineTo(0, 0);
  49. End.endFill();
  50. End._y = 200;
  51. End._x = 666;
  52. End.onPress = function() {
  53.     this.X = _xmouse;
  54.     End.onEnterFrame = function() {
  55.         this._x -= this.X-_xmouse;
  56.         this.X = _xmouse;
  57.         Show(1000, _root.Start._x, _root.End._x);
  58.     };
  59. };
  60. End.onRelease = End.onReleaseOutside=function () {
  61.     this.onEnterFrame = null;
  62. };
__________________
Languages : (in the order of knowledge/preference)
Read: Flash AS, PHP, JS, Html, DHtml, Basic, C++, DOS, 3DMaxScript, English, Deutsch, Magyar, XML, Pascal, VB, Spanish
Write: Flash AS, Basic, PHP, JS, DHtml, Html, ..., C++, ...., ..., English, ..., ..., ..., ...., Deutsch, ..., Magyar

wen du mein deutsch nicht magst whele eine andere sparache von den obrigen ;)
Xeef 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 12:01 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele