2013-03-24 113 views
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(); 
    } 
} 
+0

你能更具體嗎?目前的行爲和預期的行爲是什麼? – duTr 2013-03-24 09:02:47

+1

另外,因爲你沒有使用actionScript-2一段時間,所以我會說它可能是開始學習actionscript-3的好機會。 – duTr 2013-03-24 09:04:00

+0

我同意duTr。如果你能夠使用AS3,你應該。需要花費一些時間才能獲得成功,但過渡並不是那麼困難,你很快就會意識到它比AS2要好得多。 – puggsoy 2013-03-24 09:54:39

回答

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(); 
    } 
} 
0

我看到,可能不適合的唯一的事情是這樣的

leftEdge = wmask._x + wmask._width;

應該是... leftEdge = wmask._x;

如果您想要使用原件的確切副本。

+0

發送wslider mc完全離開邊緣。更多的背景,我想要做的gslider(右側)在這裏完美的作品(http://ctxdesigns.net/slider.swf)和左側發瘋。但我需要左側開始在wmask的右側,結束點將是左側。我不知道這是否有道理,但看看正確的一面,因爲它完全相反。 – n1nja 2013-03-24 16:02:32