[CS2] Movieclip entsprechend Mauspotiotion rotieren und verlängern

Ausbrecher

Grünschnabel
Hallo,

ich bin bei meinem neustem Projekt nun doch mal auf einige Probleme gestoßen, und zwar gehen diese um eine Rotation eines Movieclips und der Außdehnung von Punkt A zu dem Punkt B.

Ich habe folgenden Code dafür bisher verwendet:
Code:
var X1:Number = MC._x;
var X2:Number = this._xmouse;
var Y1:Number = MC._y;
var Y2:Number = this._ymouse;
var DisX:Number =(X2 - X1);
var DisY:Number = (Y2 - Y1);

MC._rotation = Math.atan2(DisY , DisX)* (180 / Math.PI);
MC._width = Math.sqrt(DisX * DisX + DisY * DisY);

MC ist eine Movieclip-Instanz auf this
* (180 / Math.PI) wird von Flash für Winkelberechnungen benötigt, da Flash hier bisschen eigen ist.

Die Rotation klappt auch soweit ganz gut. Doch wenn ich jetzt mit der Maus an eine stelle klicke so das de Funktion aufgerufen wird dreht es sich zum Mauszeiger, aber verformt sich. Sprich: die _height wird auch abgeändert. Außerdem stimmt die _width nicht mehr. Klickt man auf die rechte Seite klappt es ganz gut, klickt man auf zu dem oberen Rand funktioniert das irgendwie nicht, er rotiert zwar in dem richtigem Winkel, aber die er benutzt eine _width die doppelt oder dreifach so lang ist, wie sie sollte.

Angewendet habe ich für die längenberechnung den Pytagoras.

Ich habe also die Probleme
a) die _width stimmt nicht überein
b) die _height wird auch geändert (vermutlich durch _rotate)

Grüße
Ausbrecher
 
Zuletzt bearbeitet:
Hallo,

ich würde die Grafiken, die du strecken willst, erneut in einen MovieClip verpacken (z.B. MC.grafiken) und dann dessen _width- bzw. _height-Eigenschaft modifizieren. Ansonsten kannst du auch die Quadranten abfragen in denen sich die Richtung befindet (>0, >90, >180, >270) und je nachdem _height oder _width als Ziel-Eigenschaft wählen.

Gruss
 
Zurück