Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-12-2003, 18:15   #1 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
mathemathische Rotationsfunktion

Hallo,

ich bin auf der Suche nach einer Formel, mit der ich die Rotation eines MCs ändern kann:

1. Der MC sollte sich nur zwischen ca. -35° und +35° bewegen.
2. Zwar schon bei jedem Richtungswechsel ein Stück, aber nicht immer die vollen 70°.
3. Die Geschiwindigkeit sollte auch leicht unterschiedlich sein.


Kann jemand solch eine mathematische Funktion aufstellen, oder hat jemand schon eine ähnliche Formal.

Momentan benutze ich:
ActionScript:
  1. rotFac = 40;
  2. this.onEnterFrame = function() {
  3.     // Rotation des MCs
  4.     this._rotation = Math.sin(r++/rotFac)*rotFac;
  5. }




THX
.:|js|:.
johanness ist offline   Mit Zitat antworten
Alt 16-12-2003, 18:28   #2 (permalink)
Coder
 
Benutzerbild von bewerber2
 
Registriert seit: Sep 2002
Ort: München
Beiträge: 657
Hallo Johanness ...........

Könntest Du das evtl. visualisieren was Du willst? Ich glaube nicht, dass das jemand verstanden hat..
__________________
...
Link zu meiner Homepage
bewerber2 ist offline   Mit Zitat antworten
Alt 16-12-2003, 18:36   #3 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
ActionScript:
  1. this.amp = 35;
  2.  
  3. this.onEnterFrame = function(){
  4.  this._rotation = this.amp * Math.sin(this.phi);
  5.  this.phi += Math.Pi/5; // speed einstellen ...
  6.  
  7. }
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 16-12-2003, 18:40   #4 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Naja, visualisieren ist eben schwer.... Ich will ja öferts random(); benutzen und dann wirds schwer es darzustellen.....


Ich werde jetzt erst mal pius' Ansatz testen... THX dafür!
johanness ist offline   Mit Zitat antworten
Alt 16-12-2003, 18:44   #5 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
ActionScript:
  1. mc.amp = 35;
  2.  
  3. mc.onEnterFrame = function(){
  4.  mc._rotation = this.amp * Math.sin(this.phi);
  5.  this.phi += Math.Pi/35 + Math.Pi/30*Math.random(); // speed einstellen ...
  6.  
  7. }
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 16-12-2003, 18:48   #6 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Vielen Dank! Das ist schon ziehmlich das was ich wollte!

Des Weiteren benutze ich jetzt eine Formel, die den MC Stückweise verschiebt.
ActionScript:
  1. this.onEnterFrame = function() {
  2.     // Rotation der Lage aller Bälle
  3.     this._rotation = this.amp * Math.sin(this.phi);
  4.     this.phi += Math.Pi/rotSpeed; // speed einstellen ...
  5.     // Neue (allgemine) Position bezüglich der Startposition
  6.     xOffset=Math.sin(g++/shadFac)*Math.cos(g++/shadFac)*50
  7.     yOffset=Math.sin(g++/shadFac)*Math.cos(g++/shadFac)*50
  8.     for (var i = 0; i<maxBalls; i++) {
  9.         for (var t = 0; t<maxBalls; t++) {
  10.             cnt++;
  11.             // Ändern der Daten der MCs
  12.             MyMC = attachMovie("ball", "ball"+cnt, cnt);
  13.             scaleFac = (ballArray[i][2]+500)/Ansichtstiefe;
  14.             MyMC._x = xMitte+((xOffset+ballArray[i][0])/scaleFac)+stageFac;
  15.             MyMC._y = yMitte+((yOffset+ballArray[i][1])/scaleFac)+stageFac+t*DistH;
  16.             MyMC._alpha = 100-ballArray[i][2]/5;
  17.             MyMC._xscale = MyMC._yscale = 100/scaleFac;
  18.         }
  19.     }
  20.     nextFrame;
  21. };

Siehe besser Anhang!

Kann ich irgendwie miteinbauen, dass sich nur die einzelnen MCs aus dem Array drehen?
THX
johanness
Angehängte Dateien
Dateityp: zip rotation.zip (5,2 KB, 23x aufgerufen)

Geändert von johanness (16-12-2003 um 18:49 Uhr)
johanness ist offline   Mit Zitat antworten
Alt 16-12-2003, 18:57   #7 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
ahhh ... die berühmte bewegung von ... wie hiessen die noch mal ...
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 16-12-2003, 19:06   #8 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
was soll das 'nextFrame' im 'oEF' ...?


welche meinst du ...? (Array?)
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 16-12-2003, 19:38   #9 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Oh ja, danke.. dieses nextFrame; gehört weg... Hat sich da wohl eingeschlichen

Hier mal das komplette Script auch mit dem Array, dacht man versteht auch so alles *g*

ActionScript:
  1. NOTE: unten => "hb" ist der MC
  2.  
  3. //Festlegen der Ballanzahl
  4. maxBalls = 1;
  5. // Festlegen der Schatten verzögerung
  6. shadFac = 70;
  7. // Bühnen Versatz
  8. stageFac = - 180;
  9. // Festlegen der Ballabstände
  10. DistB = 360;
  11. DistH = 480;
  12. // Festlegen der Bühnenmitte
  13. xMitte = 150;
  14. yMitte = 150;
  15. // Festlegen der Größe der Bälle bzw. des Entfernung der Bälle bezüglich der Person
  16. Ansichtstiefe = 750;
  17. // Erstellen eines neuen Array, der die Bälle Enthalten soll
  18. ballArray = new Array();
  19. for (i=0; i<maxBalls; i++) {
  20.     ballArray[i] = [i*DistB], [j*DistB];
  21. }
  22. this._rotation = -30;
  23.  
  24.  
  25. // Bewegung
  26. this.onEnterFrame = function() {
  27.     // Rotation der Lage aller Bälle
  28.     this._rotation = Math.sin(r++/35)*35;
  29.     // Neue (allgemine) Position bezüglich der Startposition
  30.     xOffset=Math.sin(g++/shadFac)*Math.cos(g++/shadFac)*50
  31.     yOffset=Math.sin(g++/shadFac)*Math.cos(g++/shadFac)*50
  32.     for (var i = 0; i<maxBalls; i++) {
  33.         for (var t = 0; t<maxBalls; t++) {
  34.             cnt++;
  35.             // Hinzufügen eines neuen Balles
  36.             hb = attachMovie("ball", "ball"+cnt, cnt);
  37.             scaleFac = (ballArray[i][2]+500)/Ansichtstiefe;
  38.             hb._x = xMitte+((xOffset+ballArray[i][0])/scaleFac)+stageFac;
  39.             hb._y = yMitte+((yOffset+ballArray[i][1])/scaleFac)+stageFac+t*DistH;
  40.             hb._alpha = 100-ballArray[i][2]/5;
  41.             hb._xscale = hb._yscale = 100/scaleFac;
  42.         }
  43.     }
  44. };
johanness ist offline   Mit Zitat antworten
Alt 16-12-2003, 19:46   #10 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
ja das script habe ich ja im zip schon gesehen ...

... nur will ich nicht ewig interpretationsarbeit leisten ...
... was für einen effekt willst du erzielen ... !?!?
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 16-12-2003, 19:51   #11 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Wie gesagt, das mit der Rotation passt mir jetzt schon. Wenn du Lust hast könntest du mal ausprobieren, ob du's hinbekommst, dass der Mittelpunkt der Rotation nicht bei 0/0 des MCs ist, sondern in der Mitte des MCs liegt, damit das äußerste Ende (hier glaub 90/90) sich nicht immer so ewig weit rumrehr, sondenr eben alle Ecken bisschen

Verstanden *hoff*????
johanness ist offline   Mit Zitat antworten
Alt 17-12-2003, 08:25   #12 (permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
das geht doch wohl eher so, dass du das, was im mc ist verschiebst ....
__________________
one out of many
pius 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 19:54 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele