Objekt Skalierung / Koordinaten

sternenmaedchen

Grünschnabel
Hallo, ich hätte da mal ein paar Fragen.
Ich habe gerade erst mit Flash/Actionscript angefangen.
Wäre schön wenn mir da jemand helfen könnte.

Ich habe ein Quadrat, welches ich per Drag&Drop beliebig ziehen kann.
Außerdem lese ich die Positionskoordinaten von diesem Rechteck aus. Ich habe anscheind bisher nur die Koordinaten von der linken oberen Ecke und bin mir nicht wirklich bewusst, wie ich an die genauen Koordinaten der anderen Ecken komme. Habe mir schon überlegt, das irgendwie mit der Breite und Höhe zu berechnen, hat bisher aber noch nicht so wirklich hingehauen.

Desweiteren möchte ich gern, dass man das Quadrat außer dem Drag&Drop noch beliebig skalieren kann.
Habe schon viel herumgesucht, doch irgendwie nie wirklich etwas passendes gefunden.

Ich wäre euch sehr sehr dankbar.

Einen schönen Tag noch ^^

Gruß
das kleine Sternenmaedchen :)
 
Hi und willkommen im Forum,

die Positionen der anderen drei Ecken erhältst Du so:
Code:
var links = mc._x;

var rechts = mc._x + mc._width;

var oben = mc._y;

var unten = mc._y + mc._height;

Für die Skalierung gibt es mehrere Möglichkeiten (Drag&Drop im Sinne von "startDrag" ist dafür nicht unbedingt nötig).

Bitte poste Deine Datei (fla, bitte höchstens für Flash 8 abspeichern), dann kann ich Dir gerne ein Beispiel anfertigen, welches sich für Dein Setup eignet.

Gruß
.
 
Hallo und erstmal vielen vielen Dank :)

Hier ist die .fla , allerdings gibs da nicht viel zu sehen, da es lediglich ein Test ist und später zu einem Gesamtprojekt hinzugefügt wird....ich musste eben erst einmal die Funktionalitäten klären ^^

http://www.yunimond.cyor.de/auswahl.fla

habe es unter flash 8 gespeichert.
 
Zuletzt bearbeitet:
Hi,

im Anhang findest Du eine modifizierte Version:
  • Der MC "auswahl" wurde in einen weiteren MC verschachtelt. So wird nur der innere Clip (pad) skaliert, und ich kann weiterhin die unskalierten Mauskoordinaten auf dem äußeren abfragen.

  • Der MC "pad" erhält eine Füllung (die kannst Du auch gerne transparent machen), damit er auf Mausereignisse (onPress, onRelease usw.) reagieren kann. Die Verwendung des Listeners "onMouseDown" ist nicht sehr sinnvoll, da dieser immer feuert, sobald die Maustaste gedrückt wurde ... auch, wenn sich der Zeiger nicht über dem Zielobjekt befindet.

  • Der Code wurde auf die Zeitleiste gesetzt. Das ist günstiger, als ihn auf einer Objektinstanz zu notieren (dort bist Du auf wenige Ereignisse beschränkt und musst verstärkt auf korrekte Pfade achten)

  • Klickst Du auf das Objekt, so wird es verschoeben. Zusätzlich wird ein Bereich (Variable "scaleWidth") am unteren und rechten Rand definiert, der als sensible Fläche für Skalierungen dienen soll: Klickst Du nun in die rechte untere Ecke, die rechte Kante oder die untere Kante, kannst Du den MC skalieren

  • Verwende nicht gleichzeitig Textfeld-Instanznamen und Textfeldvariablen: Die Instanznamen werden durch die Verwendung der Variablen sowieso überschrieben und erfüllen daher keinen Zweck. Verzichte am besten auf Textfeld-Variablen (veraltet) und arbeite ausschließlich mit Instanznamen und der .text-Eigenschaft).

Gruß
.
 

Anhänge

  • auswahl.fla
    32 KB · Aufrufe: 43
Da sagt ich mal vielen vielen vielen Dank und wünsche noch einen wunderschönen Tag !
Du hast mir echt sehr dolle geholfen.

Ich werde weiter drann bleiben und üben üben üben ;)
 
Zurück