Wir verwenden hierfür Actionscript 3, die Datei muss also für ActionScript 3.0 ausgelegt sein
(Datei > Neu > Flash-Datei (ActionScript 3.0) auswählen).
Zunächst die Bühne entsprechend an die gewünschte Größe anpassen.
Danach die bereits vorhandene Ebene in der Zeitleiste benennen. Wir geben ihr den Namen "Objekt".
Nun das erste Schlüsselbild markieren und ein Objekt über Datei > Importieren > In Bühne importieren auf der Bühne platzieren. Danach das Objekt markieren und über Modifizieren > In Symbol konvertieren den Typ "Movieclip" auswählen, benennen und mit "OK" bestätigen. Das Objekt ist jetzt ein Movieclip.
Außerdem geben wir dem Movieclip im Eigenschaftenfeld den Instanznamen "Movie".
Im Anschluss erstellen wir eine weitere Ebene für das ActionScript und bennen diese entsprechend mit "AS".
Wir markieren das erste Bild der Ebene "AS" und tragen über Fenster > Aktionen folgendes ActionScript ein:
Code: Alles auswählen
addChild(movie);
movie.stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler);
function mouseMoveHandler(event:MouseEvent):void{
if(distance(movie.x,movie.y,movie.stage.mouseX,movie.stage.mouseY)>1){
if(!movie.hasEventListener(Event.ENTER_FRAME)){
movie.addEventListener(Event.ENTER_FRAME,enterFrameHandler);
}
}
}
function enterFrameHandler(event:Event):void{
trace(distance(movie.x,movie.y,movie.stage.mouseX,movie.stage.mouseY));
if(distance(movie.x,movie.y,movie.stage.mouseX,movie.stage.mouseY)<1){
movie.removeEventListener(Event.ENTER_FRAME,enterFrameHandler);
}else{
movie.x+=(movie.stage.mouseX-movie.x)/2;
movie.y+=(movie.stage.mouseY-movie.y)/2;
}
}
function distance(x1:Number,y1:Number,x2:Number,y2:Number):Number{
var dist:Number=Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
return dist;
}
Dateidownload: