# Interactive Image Panning

**URL:** <https://forum.kirupa.com/t/interactive-image-panning/227968>\
**Category:** Uncategorized\
**Created:** [June 4, 2007, 9:42am UTC](https://forum.kirupa.com/t/interactive-image-panning/227968 "2007-06-04T09:42:43Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Galia](https://avatars.discourse-cdn.com/v4/letter/g/5fc32e/32.png) [@Galia](https://forum.kirupa.com/u/Galia)\
**Post date:** [June 4, 2007, 9:42am UTC](https://forum.kirupa.com/t/interactive-image-panning/227968/1 "2007-06-04T09:42:43Z")

</div>

Hi.  
I’ve acted upon your tuturial here and even added the Yscale to make it more fluent, but I lack flexibility in mouse movement.  
Here’s the link to what the image is supoosed to move like:  
[http://bedtimestoryband.com/test/vlab/01/index.html](http://bedtimestoryband.com/test/vlab/01/index.html)

and mine moves and kinda gets stuck:  
[http://www.spice-e.net/samples/vlab/vlab.html](http://www.spice-e.net/samples/vlab/vlab.html)

This is the code in the flash:  
this.onMouseMove = function() {  
constrainedMove(bg\_mc, 15, 1);  
};  
function constrainedMove(target:MovieClip, speed:Number, dir:Number) {  
var mousePercent:Number = \_xmouse/Stage.width;  
var mouseYPercent:Number = \_ymouse/Stage.height;

var mSpeed:Number;  
if (dir == 2) {  
mSpeed = 1-mou0.sePercent;  
} else {  
mSpeed = mousePercent;  
}  
var mYSpeed:Number;  
if (dir == 2) {  
mYSpeed = 1-mouseYPercent;  
} else {  
mYSpeed = mouseYPercent;  
}

target.destX = Math.round(-((target.\_width-Stage.width)\*mSpeed));  
target.destY = Math.round(-((target.\_height-Stage.height)\*mYSpeed));

target.onEnterFrame = function() {

if (target.\_x == target.destX) {  
delete target.onEnterFrame;  
} else if (target.\_x\>target.destX) {  
target.\_x -= Math.ceil((target.\_x-target.destX)_(speed/100));  
} else if (target.\_x\<target.destX) {  
target.\_x += Math.ceil((target.destX-target.\_x)_(speed/100));  
}

if (target.\_y == target.destY) {  
delete target.onEnterFrame;  
} else if (target.\_y\>target.destY) {  
target.\_y -= Math.ceil((target.\_y-target.destY)_(speed/100));  
} else if (target.\_y\<target.destY) {  
target.\_y += Math.ceil((target.destY-target.\_y)_(speed/100));  
}

};  
}  
Thanks for the help  
Galia
