rocskyline
03-21-2011, 12:54 AM
Hello, I'am trying to replicate a Mouse Pad with actionscript. This is what I have so far:
var rect:Rectangle = new Rectangle(0,0,pad.width, pad.height);
pad.mouse.addEventListener(MouseEvent.MOUSE_DOWN, doDrag);
function doDrag(e:MouseEvent):void{
e.target.startDrag(false,rect);
stage.addEventListener(MouseEvent.MOUSE_UP, doNotDrag);
pad.mouse.addEventListener(MouseEvent.MOUSE_MOVE, movingMouse);
e.target.removeEventListener(MouseEvent.MOUSE_DOWN , doDrag);
}
function doNotDrag(e:MouseEvent):void{
pad.mouse.stopDrag();
pad.mouse.addEventListener(MouseEvent.MOUSE_DOWN, doDrag);
pad.mouse.removeEventListener(MouseEvent.MOUSE_MOV E, movingMouse);
stage.removeEventListener(MouseEvent.MOUSE_UP, doNotDrag);
}
function movingMouse(e:MouseEvent):void{
beetle.x= e.target.x*5;
beetle.y= e.target.y*5;
}
This works, however, for every 1 pixel I move on that pad the object moves 5, since my mouse pad mc is 5x smaller than the stage.
Thank you very much for your time and help.
ps: I have attached a cs4 fla file if you want to take a look at it.
var rect:Rectangle = new Rectangle(0,0,pad.width, pad.height);
pad.mouse.addEventListener(MouseEvent.MOUSE_DOWN, doDrag);
function doDrag(e:MouseEvent):void{
e.target.startDrag(false,rect);
stage.addEventListener(MouseEvent.MOUSE_UP, doNotDrag);
pad.mouse.addEventListener(MouseEvent.MOUSE_MOVE, movingMouse);
e.target.removeEventListener(MouseEvent.MOUSE_DOWN , doDrag);
}
function doNotDrag(e:MouseEvent):void{
pad.mouse.stopDrag();
pad.mouse.addEventListener(MouseEvent.MOUSE_DOWN, doDrag);
pad.mouse.removeEventListener(MouseEvent.MOUSE_MOV E, movingMouse);
stage.removeEventListener(MouseEvent.MOUSE_UP, doNotDrag);
}
function movingMouse(e:MouseEvent):void{
beetle.x= e.target.x*5;
beetle.y= e.target.y*5;
}
This works, however, for every 1 pixel I move on that pad the object moves 5, since my mouse pad mc is 5x smaller than the stage.
Thank you very much for your time and help.
ps: I have attached a cs4 fla file if you want to take a look at it.