0

我知道 AS2 已经过时了,但我对 as3 的了解还不够,而且我已经好几年没碰过 AS2 了。

这是我的问题:我有两个水平缩略图滚动菜单(一个在左侧,一个在右侧)。右边的那个完美地工作。

rightEdge = gmask._x;
maskWidth = gmask._width;
sliderWidth = gslider._width;
ratio = maskWidth / (sliderWidth - maskWidth - 55);
targX = gslider._x;

gslider.onEnterFrame = function() { 
    this._x += (targX - this._x) / 5;
}

gslider.onMouseMove = function() {  
    if (gmask.hitTest(_root._xmouse, _root._ymouse, false)) {
        targX = rightEdge - (gmask._xmouse / ratio);
        updateAfterEvent();
    }
}

我想我可以复制正确的代码并更改适当的实例和变量,但这当然不是那么容易。我花了几个小时尝试不同的组合,但现在我回到了第一方。

leftEdge = wmask._x + wmask._width;
maskWidth1 = wmask._width;
sliderWidth1 = wslider._width;
ratio1 = maskWidth1 / (sliderWidth1 - maskWidth1 - 55);
targX1 = wslider._x;

wslider.onEnterFrame = function() { 
    this._x += (targX1 - this._x) / 5;
}

wslider.onMouseMove = function() {  
    if (wmask.hitTest(_root._xmouse,_root._ymouse,false)) {
        targX1 = leftEdge - (wmask._xmouse / ratio1);
        updateAfterEvent();
    }
}
4

2 回答 2

1

我终于明白了。我知道它可能不干净,但这段代码非常适合左侧滚动条。

leftEdge=wmask._x + wmask._width;
maskWidth1=wmask._width;
sliderWidth1=wslider._width;
ratio1=maskWidth1/(sliderWidth1-maskWidth1+15)
targX1=wslider._x;

wslider.onEnterFrame=function(){    
    this._x+=(targX1-this._x)/5;
}
wslider.onMouseMove=function(){ 
    if(wmask.hitTest(_root._xmouse,_root._ymouse,false)){
    targX1=(wmask._width*2+100)-(wmask._xmouse/ratio1);
    updateAfterEvent();
    }
}
于 2013-03-25T01:22:17.913 回答
0

我看到的唯一可能不正确的是这个

leftEdge = wmask._x + wmask._width;

应该是... leftEdge = wmask._x;

如果您想使用原件的精确副本。

于 2013-03-24T12:51:03.377 回答