我知道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();
}
}
答案 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;
如果您想要使用原始的完全副本。