1) Use getBounds() to determine the actual coordinates the
box takes up. If the box's registration is not in it's upper left
or left, other methods could be flaky.

2) Find the difference between getBounds().xMin and _xmouse

3) Find the percent(from 0 to 1) of the box's width that
difference is(say, a little under half way from left to right, or
.45)

3) Multiple times 100 and that's the alpha

Here:

red_mc.onRollOver = function() {

mouseInterval = setInterval(changeAlpha,10,red_mc);

}

red_mc.onRollOut = red_mc.onReleaseOutside = function() {

clearInterval(mouseInterval);

}

function changeAlpha (mc) {

// pass in the MovieClip as an argument, so it's more
flexible

var bounds = mc.getBounds(_root); // find target mc's bounds
on _root

var xDif = _root._xmouse-bounds.xMin; // determine how far
from mc's left bound the mouse is

var percent = xDif/mc._width; // determine what percentage
of the mc the mouse is at

mc._alpha = 100*percent; // max alpha times percent gives
desired alpha

trace(mc._alpha);

updateAfterEvent(); // this forces Flash to redraw,
independent of frame rate

}

Hope that helps