Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-02-2004, 12:09   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 33
aktionskript und drehpunkt

hallo zusammen,

hab da ein problem mit bewegen und gleichzeitig rotieren eines MC. ich baue gerade ein interface wie bei

http://www.intentionallies.co.jp/content_normal.html

doch nun habe ich das problem, wenn ih die einzelnen 'bilder' doppel klicke, diese sich vergroessern, in die mitte des bildschirms schieben, und rotieren sollen. nun das verschieben und scalieren klappt wunderbar, doch beim rotieren, rotiert es immer um den falschen drehpunk, dieser sollte eigentlich bei jedem doppelklick sich neu ausgerichtet werden (glaube ich), geht das ueberhaupt???

gruss
mister mister ist offline   Mit Zitat antworten
Alt 16-02-2004, 21:11   #2 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Ort: Köln
Beiträge: 106
... versteh jetz zwar nich Dein Beispiel, kenne aber das Problem.
Ich weiss nicht, ob das die eleganteste Lösung ist, aber wenn Du einen beliebigen Drehpunkt benutzen willst, kannst Du das erreichen, indem Du Clips verschachtelst, also Deinen ZielClip in einen ContainerClip setzst.
Dann rotierst Du nur noch den Container und nicht mehr Deinen ZielClip.
1) soll der Zielclip um seinen Mittelpunkt rotieren, sollte er im Containerclip einfach zentriert sein. Dann kannst Du den Container drehen, wie Du lustig bist.
2) soll er hingegen um einen anderen Drehpunkt rotieren, verschiebst Du den ZielClip im Container um den Radius. Dann rotierst Du den Container um die gewünschten Grad. Und platzierst ihn an die Koordinaten Deines gewünschten DrehPunkts.
__________________
http://www.rumbke.de
leif ist offline   Mit Zitat antworten
Alt 16-02-2004, 21:50   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 33
das klappt eben auch nicht, hier mein bsp nochmal:

ich habe n anzahl MCs in einem container MC. die _rotation und x/y position dieser n MCs ist beim laden zufallig, also alle n MCs stehen schief und schraeg in der gegend. nun soll durch ein klick auf einen dieser n MCs sich das container MC so drehen, dass das angeklickte MC gerade steht, und gleichzeitig soll dieser container MC sich so verschieben, dass das angeklickte MC in der mitte des bildschirms steht.

habe ein verinfachtes bsp mit nur zwei MC beigefuegt, das fertige ergebnis sollte ungefaehr aussehen wie bei:

http://www.intentionallies.co.jp/content_normal.html

please help, ich geh langsam die waende hoch...
Angehängte Dateien
Dateityp: zip test.zip (4,9 KB, 11x aufgerufen)
mister mister ist offline   Mit Zitat antworten
Alt 16-02-2004, 23:21   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Ort: Köln
Beiträge: 106
Vergib mir, dass ich mich ungern in fremde Listings einlese... ;-) Vielmehr theoretisch zur Sache: Die Translation kannst Du über den Containerclip machen - und machst Du ja glaub ich auch schon. Dann rutschen alle anderen Clips ja korrekt mit.

Zur Rotation... ok, das wird kompliziert - mir fällt jedenfalls kein einfacher Weg (Trick?) ein. Nun denn:

Olá!
Am Besten rechnest Du vorher aus, um wieviele Grad Du Deinen Clip je Frame rotieren musst (ablegen in Variable rot_add).
Diesen Kram hier dann onEnterFrame durchführen, bis die Zielposition erreicht ist:
1) den angeklickten Clip (mc_chosen) innerhalb des Containers um rot_add rotieren.
2) Dabei eine Schleife i für alle Clips innerhalb des Containers durchlaufen - mit Ausnahme des angeklickten.
2a) für jeden Clip mc[i] den Vektor zu mc_chosen bilden
2b) diesen Vektor(!) um rot_add rotieren
2c) mc[i] an die x/y-Koordinaten des rotierten Vectors zuzüglich derer von mc_chosen setzen
2d) mc[i] im Container um rot_add rotieren

... und das war's... ;-)

Ich probier das auch mal praktisch aus. Wird aber nen Moment dauern.
__________________
http://www.rumbke.de
leif ist offline   Mit Zitat antworten
Alt 16-02-2004, 23:33   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Ort: Köln
Beiträge: 106
... doch, jetz ist mir doch noch ein Trick eingefallen.
Anstatt das über Vektorrechnung zu lösen, kann man auch die KoordinatenSysteme der einzelnen Clips verschieben. Das geht einfach in der Form, dass man allen Clips noch eine Verschachtelungsebene gönnt. Eben wie in dem früheren post geschrieben "einen beliebigen Drehpunkt wählen". Das dürfte deutlich schneller gehen... folgt dann hier... :-)
__________________
http://www.rumbke.de
leif ist offline   Mit Zitat antworten
Alt 16-02-2004, 23:51   #6 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 33
waer es denn nicht moeglich, den container MC um den drehpunkt des angeklickten MCs zu rotieren? das muesste dann doch mit dem verschieben klappen...
mister mister ist offline   Mit Zitat antworten
Alt 17-02-2004, 01:17   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Ort: Köln
Beiträge: 106
Hab jetz die ganze Zeit an dem teil rumgefummelt und daher Dein Post erst nich gesehn. Ja, klingt ganz einleuchtend. Ist auch mal auszuprobieren.

Ansonsten... hab ich's noch nicht ganz. Noch ein Problem beim zurücktransformieren der Koordinatensysteme, wenn die Anim fertig ist. Aber schonmal auf dem richtigen Weg glaub ich: http://www.khm.de/~leif/klimbim/cardmenu.swf.
Listing folgt, wenn's fertig ist.
Ist jetzt der Ansatz ohne Vektorgeometrie. Alle Cips sind doppelt verschachtelt und in einem Container.
Die Translation läuft über letzteren.
Bei Click verschiebe ich dann Schachtelebene 1 aller Clips auf die Koordinaten des angeklickten. In ihrer inneren Verschachtelung mach ich eine genau entgegengesetzte Verschiebung, so dass sich die Clips visuell nicht bewegen, sondern nur ihre Koordinatensysteme: so hab ich einen neuen Drehpunkt definiert. Die sind im Beispiel abgedeutet durch ein rotes Kreuz - und entsprechen also immer der Koordinate 0/0 in der ersten Schachtelebene.
Die Rotation führe ich dann ebenfalls in Schachtelebene 1 aus - für jeden Clip einzeln.
Ich bekomm jetz nur noch nicht die Rücktransformation von Ebene 2 auf Ebene 1 hin, die nötig ist, damit das auch beim zweiten Click vernünftig läuft. Meine fehlerhafte Routine ist aber erstmal drin - weshalb die Clips jetz am Ende der Anim springen. Mal schaun... vielleicht ist es mit Vektorgeo doch einfacher... da weiss ich weingstens was ich tue... :-)
__________________
http://www.rumbke.de

Geändert von leif (17-02-2004 um 01:21 Uhr)
leif ist offline   Mit Zitat antworten
Alt 18-02-2004, 01:31   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Ort: Köln
Beiträge: 106
... ich werd hier grad ebenso wahnsinnig. Koordinatenjonglage in mehreren Verschachtelungen, dazu localToGlobals usw... blick nicht mehr durch. Ist wohl ansteckend... :-)
Ich versuch dann doch lieber den Ansatz mit der Vektorrechnung. Da weiss man, was man hat. Aber heut nich mehr.
__________________
http://www.rumbke.de
leif ist offline   Mit Zitat antworten
Alt 18-02-2004, 14:31   #9 (permalink)
Neuer User
 
Registriert seit: Sep 2001
Beiträge: 33
ich hab mal eine so halbe version geschafft, verschiebe den mittelpunkt des containers jeweils bei klick an den mittelpunkt des angeklickten, und lass den container MC dann um diesen neuen drehpunkt rotieren. das klappt ganz gut soweit, doch ich muss die MC zuerst wieder in die ursprungsposition bringen, befor ich einen weitern Mc anklikcken kann...mal sehen, ich versuchs jetzt mit einem 2 container, der nur dann rotiert, wenn man schon hineingezoomt hat (???)...habe das file unten angefuegt
Angehängte Dateien
Dateityp: zip 001.zip (7,9 KB, 22x aufgerufen)
mister mister ist offline   Mit Zitat antworten
Alt 18-02-2004, 19:05   #10 (permalink)
Neuer User
 
Registriert seit: Nov 2001
Ort: Köln
Beiträge: 106
Das war genau auch mein Problem. Der erste Durchlauf geht gut, aber das anschliessende resetten der Koordinaten als Vorbereitung für den näxten Schritt ist nict so einfach... owohl's einfach wirkt... *gr*. Wie gesagt. wenn ihc zeit finde kümmer ich mich um eine Vektorvariante - die müsste einfach sauber laufen.
__________________
http://www.rumbke.de
leif 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 06:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele