Twos
Erfahrenes Mitglied
Hi,
Ich habe eine Seite in Auftrag, für die ich Objekte vor der Maus "fliehen" lassen muss. Die Aufgabe konnte ich dank "luke_the_duke" auch sehr gut lösen.
Ich will nun aber einen Schritt weiter gehen und die Objekte sich gleichzeitig um sich selber drehen lassen (wenn sie "fliehen"). Der aktuelle Stand ist auf http://www.maxleondalheimer.de zu begutachten, der Link zum alten Thread ist hier:
http://www.tutorials.de/forum/flash/260753-objekt-flieht-vor-maus.html
und zu guter letzt noch der Code:
Hab selber leider nicht viel Ahnung von Actionscript, wäre also über Hilfe sehr Dankbar
Gruß
Twos
Ich habe eine Seite in Auftrag, für die ich Objekte vor der Maus "fliehen" lassen muss. Die Aufgabe konnte ich dank "luke_the_duke" auch sehr gut lösen.
Ich will nun aber einen Schritt weiter gehen und die Objekte sich gleichzeitig um sich selber drehen lassen (wenn sie "fliehen"). Der aktuelle Stand ist auf http://www.maxleondalheimer.de zu begutachten, der Link zum alten Thread ist hier:
http://www.tutorials.de/forum/flash/260753-objekt-flieht-vor-maus.html
und zu guter letzt noch der Code:
Code:
//Import und include der benötigten AS-Dateien
import com.ProximityManager;
#include "MovieClip_setTo.as"
//Erstellt einen ProximityManager mit einem 45px-Gitter
var pm: ProximityManager = new ProximityManager();
pm.gridSize = 150;
//Fügt die orangen MovieClips (_1 - _5) dem ProximityManager hinzu
var i: Number = 8;
while (i--) pm.addItem(this["_"+i]);
pm.addItem(maus);
//Startet den MouseDrag für den blauen MovieClip
maus.startDrag(true);
//Der blaue maus-Clip wird unsichtbar geschaltet
maus._visible = false;
//---------------------------------------------------------------//
//Funktion: Initiiert eine onEnterFrame-Schlaufe.
function loop (): Void {
onEnterFrame = function () {
//Die Koordinaten der Clips werden für den ProximityManager aktualisiert
pm.refresh();
//Abfrage aller benachbarten Clips von "maus", zurück kommt ein Array...
var ary: Array = pm.getNeighbours(maus);
//...das hier durchlaufen wird. Für alle enthaltenen MovieClips ausser dem Mausdrag selbst, wird die Funktion fly (flüchten) aufgerufen.
for (var i: Number = 0; i < ary.length; i++) {
if (ary[i] != maus) fly (ary[i]);
}
}
}
//------------------------------------------------------//
//Funktion: Errechnet Differenz des Parameter-MovieClips mc zum maus-Clip und animiert den mc an entsprechende Stelle.
function fly (mc: MovieClip): Void {
var x: Number = mc._x - maus._x;
var y: Number = mc._y - maus._y;
x += mc._x;
y += mc._y;
mc.mc_setTo (.1, 0, "_x", x, "_y", y);
}
//---------------------------------------------------------------//
loop();
Hab selber leider nicht viel Ahnung von Actionscript, wäre also über Hilfe sehr Dankbar
Gruß
Twos