1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.geom.Point;
import flash.events.Event;
public class Base extends MovieClip {
//*** Attributs ***
private var _cursposx:Number; //mémorisation curseur x
private var _cursposy:Number; //mémorisation curseur y
private var _vitesse:Number; //vitesse globale
private var _vitessex:Number; //vitesse à appliquer en x
private var _vitessey:Number; //vitesse à appliquer en y
private var _angleRadian:Number; // angle en radian
private var _angleDegree:Number; // angle en degree
private var _mouseisdown:Boolean; // si le clique est enfoncé
//*** Constructeur ***
public function Base() {
_vitesse = 5;
addEventListener(Event.ENTER_FRAME, enterFrame);
addEventListener ( MouseEvent.MOUSE_DOWN, update );
addEventListener ( MouseEvent.MOUSE_UP, update2 );
}
//*** Accesseurs/Mutateurs ***
//*** Méthodes ***
public function update(event:MouseEvent):void{
_mouseisdown = true;
_cursposx = stage.mouseX;
_cursposy = stage.mouseY;
_angleRadian = Math.atan2(_cursposy - 360,_cursposx - 600);
_angleDegree = _angleRadian * 180 / Math.PI;
_vitessex = Math.cos(_angleRadian) * _vitesse;
_vitessey = Math.sin(_angleRadian) * _vitesse;
root.carre_mc.protation(_angleDegree);
}
public function update2(event:MouseEvent):void{
_mouseisdown = false;
}
public function update3():void{
_mouseisdown = true;
_cursposx = stage.mouseX;
_cursposy = stage.mouseY;
_angleRadian = Math.atan2(_cursposy - 360,_cursposx - 600);
_angleDegree = _angleRadian * 180 / Math.PI;
_vitessex = Math.cos(_angleRadian) * _vitesse;
_vitessey = Math.sin(_angleRadian) * _vitesse;
}
public function enterFrame(e:Event):void{
if(_mouseisdown == true){update3()}
if(_cursposx < 590){x -=_vitessex;_cursposx -=_vitessex;}
if(_cursposx > 610){x -=_vitessex;_cursposx -=_vitessex;}
if(_cursposy < 350){y -=_vitessey;_cursposy -=_vitessey;}
if(_cursposy > 370){y -=_vitessey;_cursposy -=_vitessey;}
trace(_mouseisdown);
}
}//fin classe
}//fin package |