Mouse attraction

Code Actionscript 2.0

Instance action

onClipEvent (load) {
startx = this._x;
starty = this._y;
mindistance = 160.0;
}
onClipEvent (enterFrame) {
softness_mouse = 4.0;
softness_start = 6.0;
dx = this._x - _root._xmouse;
dy = this._y - _root._ymouse;
distance = Math.sqrt(dx * dx + dy * dy);
if (distance < mindistance) {
//slide towards mouse
this._x = this._x - dx / softness_mouse;
this._y = this._y - dy / softness_mouse;
} else {
// slide back to starting point
this._x = this._x + (startx - this._x) / softness_start;
this._y = this._y + (starty - this._y) / softness_start;
}
}

Code Actionscript 3.0

addEventListener(Event.ENTER_FRAME, enterFrame); var startx = square.x; var starty = square.y; var mindistance = 160.0; function enterFrame(event:Event){ var softness_mouse = 4; var softness_start = 6; var dx = square.x - mouseX; var dy = square.y - mouseY; var distance = Math.sqrt(dx * dx + dy * dy); if (distance < mindistance) { //slide towards mouse square.x = square.x - dx/ softness_mouse; square.y = square.y - dy/ softness_mouse; } else { // slide back to starting point square.x = square.x + (startx -square.x) /softness_start; square.y = square.y + (starty - square.y) / softness_start; } }

Description

The square is attracted to the mouse, following its path until the minimum distance mindistance is reached, at which point the square returns to its original position. The smoothness of these two movements is determined by the variables softness_mouse and softness_start.

related to: Movement towards a target, Mouse approach

Download

Right click: Flashfile AS 2.0 | Flashfile AS 3.0 | SWF-File


Share