• SpryFlashCMS das Flash CMS
  • Flash on the Beach 2010 in Brighton!
  • Adobe User Group
Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-11-2003, 15:58   #1 (Permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 46
Rotation einer Gruppe von MC´s

Sersn zusammen,
Ich hab da ein Problem bei dem ich leider nicht weiterkomme. Hab das ganze Forum durchsucht, aber leider nicht die Lösung gefunden. Vom rumprobieren hab ich langsam die Schnauze voll.
Wäre dankbar für jeden Tip.

Die Aufgabe:
Ich habe mehrere MC´s in einem Movieclip attached. Per Doppelklick kann ich bestimmte MC´s markieren (auswählen). Diese bilden dann eine Gruppe. Es gibt noch einen Button "Rotieren". Wenn ich diesen drücke sollen alle markierten MC´s (also diese Gruppe von MC´s) um 45° Grad gedreht werden, aber nicht um sich selber sondern um den Mittelpunkt dieser Gruppe.
Um es noch etwas besser Auszudrücken soll die gesuchte Funktion nichts anderes machen wie z.B. die Funktion "Rotieren" im Program Flash.
Hier kann ich ja auch auf der Bühne mehrere Objekte markieren und um eine bestimmte Gradzahl, die ich eingeben kann, drehen.
Den Rotationsmittelpunkt der markierten Mc´s habe ich bereits ermittelt.
Hat jemand eine Idee?

Vielen Dank schonmal in voraus

thx
ElectroCunt
ElectroCunt ist offline   Mit Zitat antworten
Alt 25-11-2003, 16:04   #2 (Permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
mit dem ermittelten Rotationszentrum kannst du dann also die 'radien' zu den Objekten ermitteln und den momentanen Winkel 'atan2' ... dann addierst du den Drehwinkel und rechnest dir über 'sin' und 'cos' die neuen x,y Wete aus ... die _rotation der Objekte musst du je nach gewünschtem Verhalten anpassen ...
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 25-11-2003, 20:42   #3 (Permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 46
Danke erstmal.
Mein Problem liegt aber darin den Startwinkel des jeweiligen MC´s zu ermitteln. Meine Mathe ist zwar noch ganz passabel, aber irgendwiw geht da grad gar nix bei mir.
Wie berechne ich den Startwinkel wenn mein Mittelpunkt die Koordinaten mX und mY und mein MC die Koordinaten mcX und mcY hat.

"...also die 'radien' zu den Objekten ermitteln und den momentanen Winkel 'atan2' ..."

Wie mach ich das??

Danke nochmal, ich steh gerade echt aufm Schlauch.

thx,
ElectroCunt
ElectroCunt ist offline   Mit Zitat antworten
Alt 25-11-2003, 21:07   #4 (Permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
dw = Wert; // Drehwinkel in Bogenmaß !!!

dy = mcy - my;
dx = mxx - mx;

r = Math.sqrt(Math.pow(dy,2)+Math.pow(dx,2));


w = Math.atan2(dy, dx);


***(flash-Hilfe)
Methode; berechnet den Arkustangens von y/x und gibt diesen im Bogenmaß zurück. Der Rückgabewert stellt den Winkel gegenüber dem rechten Winkel in einem rechtwinkligen Dreieck dar, wobei x die anliegende Seitenlänge und y die gegenüberliegende Seitenlänge ist.
***

w += dw;

mcx = r * Math.cos(w);
mcy = r * Math.sin(w);


... so in etwa ... natürlich für jeden mc extra ...
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 25-11-2003, 21:08   #5 (Permalink)
.--. .. ..- ...
 
Benutzerbild von pius
 
Registriert seit: Jul 2002
Ort: munich
Beiträge: 1.345
wie ermittelst du eigenlich das Zentrum?
__________________
one out of many
pius ist offline   Mit Zitat antworten
Alt 25-11-2003, 21:22   #6 (Permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 46
Das Zentrum ermittel ich indem ich den absolut kleinsten X und Y-Wert sowei den absolut größten X und Y-Wert suche. Jetzt habe ich 4 Punkte mit denen ich mir ein imaginäres Rechteck aufziehen kann. Der Mittelpunkt dieses Rechtecks läßt sich leicht ermitteln. Dieser ist dann auch gleichzeitig der Mittelpunkt aller MC´s die ausgewählt wurden.
Diese Rechteck umschließt also alle vorkommenden MC´s.

@pius:
Danke für deine Antwort. Werde ich gleich mal ausprobieren

ElectroCunt
ElectroCunt ist offline   Mit Zitat antworten
Alt 25-11-2003, 22:07   #7 (Permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 46
Sorry, aber ich krieg echt gerade des kotzen...Vielleicht liegts auch am beschi**enen Bayernspiel, aber ich komm so nicht weiter..
Ich hab jetzt mal die .fla angehängt. Der zu sehende MC "mc"
soll sich jetzt von seiner Position aus in 45° Grad schritten um den Mittelpunkt drehen.
Vielleicht kann mir ja einer den Code zu der .fla schreiben und hier reinstellen ..
Bitte nochmal um Hilfe..

Ganz großen Dank

ElectroCunt
Angehängte Dateien
Dateityp: rar rotation.rar (2,3 KB, 13x aufgerufen)
ElectroCunt ist offline   Mit Zitat antworten
Alt 26-11-2003, 13:29   #8 (Permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 46
So, hab mich nochmal in Ruhe hingesetzt und jetzt funzt es..
Muss noch Code optimierung machen damit nicht immer alles neu berechnet werden muss.... .War jetzt mal auf die schnelle gemacht.
Die .fla ist angehängt

Vielleicht hat ja noch jemand eine Idee wie man das Skript optimieren kann..

In diesem Sinne

thx

ElectroCunt
Angehängte Dateien
Dateityp: rar rotation1.rar (4,2 KB, 33x aufgerufen)
ElectroCunt 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 17:40 Uhr.

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


Copyright ©1999 – 2010 Marc Thiele und Sascha Wolter.