滚动菜单不能完全正常工作

时间:2013-03-24 04:37:29

标签: actionscript-3 flash actionscript actionscript-2

我知道AS2已经老了,但我还不太清楚,而且我多年来都没有触及过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();
    }
}

2 个答案:

答案 0 :(得分: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();
    }
}

答案 1 :(得分:0)

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

leftEdge = wmask._x + wmask._width;

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

如果您想要使用原始的完全副本。