If you open the Info panel (Window > Info), you'll notice that when you move your mouse cursor to the left, the x value decreases and when you move your cursor to the right, the x value increases.
You could apply the same concept here. You will need a variable to keep track of your old x mouse position and a variable to keep track of your new x mouse position.
If your new mouse position is greater than the old mouse position, you can assume the mouse is moving to the right and you would go forward a frame. If your new mouse position is less than the old mouse position, you can assume your mouse is moving to the left and you would go backwards a frame. You'll also have to take into account going "forward" on the last frame and going "backwards" on the first frame of your MovieClip.
Here's one way that you can approach this:
//Create a reference to store the previous x mouse position
var old_mouseX = 0;
//Add an event listener
this.Silver.addEventListener("pressmove", mouseMovementHandler);
//Mouse movement handler
function mouseMovementHandler(event){
//Get a reference to the target
var currentTarget = event.currentTarget;
//Get a reference to the current x mouse position
var current_mouseX = stage.mouseX;
//Check for mouse movement to the left
if(current_mouseX < old_mouseX){
//Check if we're within the total frames of the MovieClip
if(currentTarget.currentFrame - 1 >= 0 ){
currentTarget.gotoAndStop(currentTarget.currentFrame - 1);
}
//If not, restart on the last frame of the MovieClip
else{
currentTarget.gotoAndStop(currentTarget.totalFrames - 1);
}
}
//Check for mouse movement to the right
else if(current_mouseX > old_mouseX){
//Check if we're within the total frames of the MovieClip
if(currentTarget.currentFrame + 1 <= currentTarget.totalFrames - 1){
currentTarget.gotoAndStop(currentTarget.currentFrame + 1);
}
//If not, restart at frame 0
else{
currentTarget.gotoAndStop(0);
}
}
//Update the old mouse position
old_mouseX = current_mouseX;
}