0

AS2 が古いことは知っていますが、as3 についてはまだよくわかっていません。AS2 には何年も触れていません。

ここに私の問題があります: 2 つの水平サムネイル スクロール メニュー (左側に 1 つ、右側に 1 つ) があります。右側のものは完全に機能します。

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 に答える