MC Instanz: punkt

hd = _root.punkt._xmouse;

hd_positiv = Math.abs(hd);

In der Variablen hd wird die horizontale Distanz zur MC Instanz punkt abgelegt.

Das Script könnte auch so aussehen

hd = _root.punkt._x-_root._xmouse;

Siehe Tipp drag Movieclip Seite 5

In hd_positiv wird keine Immunschwäche diagnostiziert sondern es werden die negativen Werte von hd in positive umgewandelt. Das geschieht,mittel Math.abs()

anstatt Math.abs() könnte die Funktion auch so aussehen:

hd_positiv = Math.sqrt(hd*hd);

Hierbei werden die Werte miteinander multipliziert und daraus die Wurzel gezogen, denn minus mal minus ergibt plus.

Bewege die Maus nach rechts und links

Wir haben horizontale und vertikale Distanz und wollen nun daraus die reale Distanz bilden. Siehe Grafiken!

Hier kommt uns der Satz des Pythagoras zur Hilfe.

a²+b²=c²

distz=Math.sqrt(_root.punkt._xmouse*_root.punkt._xmouse+_root.punkt._ymouse*_root.punkt._ymouse)

Um die Strecke c also die

Distanz zu bekommen

ziehen wir daraus die Wurzel.

das Gleiche in Actionscript:

c=Math.sqrt(a*a+b*b)

Jetzt müssen wir nur noch a und b durch horizontale Distanz _root.instanzname._xmouse

und vertikale Distanz  _root.instanzname._ymouse

zum MC ersetzen

Ziehe die MCs mit gedrückter

Maustaste, drag and drop das Script rechnet die Entfernung zwischen beiden MCs aus

with (puck) {

delta_x = _x-pick._x;

delta_y = _y-pick._y;

distance = Math.sqrt((delta_x*delta_x)+(delta_y*delta_y));

}

Variable delta_x ist die x-Position von puck minus x-Position von pick. Also, der horizontale Abstand zwischen beiden MCs. Das gleiche wird mit dem vertikalen Abstand unter delta_y abgelegt.

Aus dem horizontalen Abstand zum Quadrat plus dem vertikalen Abstand zum Quadrat wird die Wurzel gezogen, um die Distanz zwischen beiden zu erhalten.

Ich überlasse es eurer Kreativität mit diesem Wert interessante Effekte zu erstellen, beispielsweise dynamische Menuesysteme wie in   diesem Beispiel...

verwandte Themen:  Mathe Objekt                       Drag Movie Clip