DJ_Baton
06.05.2008, 20:04
У меня есть скроллинг, по нему собственно вопрос: как сделать скроллирование колесом мыши
выглядит он следующим образом:
мувиклип scroll, в нем скрипт
onClipEvent (load) {
target = _parent.txt;
mask = _parent.progmask;
// К - коэффициент насколько большим считать клип чем он есть для того, чтобы до конца проскролировать
// (1<=K)
K = 1;
// Т - коэффициент тормознуости чем он больше тем инерционнее движение (1<= T <=30)
T = 5;
}
внутри него 3 слоя:
в первом скрипт:
clipBounds = this.getBounds(this);
pressed = false;
targetY = target._y;
polsun._y = clipBounds.yMin+polsun._height/2;
deltaY = 0;
this.onEnterFrame = function() {
function Calculation() {
var scrollheight = (clipBounds.yMax-clipBounds.yMin)-polzun._height;
var scrollposition = (polzun._y-polzun._height/2-clipBounds.yMin)/scrollheight;
deltaY = (target._y-(targetY-scrollposition*(target._height*K-mask._height)))/T;
target._y -= deltaY;
updateAfterEvent();
}
if (pressed) {
Calculation();
} else {
if (!pressed && roundTo(deltaY, 1) != 0) {
Calculation();
}
}
};
this.polzun.onLoad = function() {
X = _x;
};
this.polzun.onPress = function() {
startDrag(this, false, this.X, clipBounds.yMin+this._height/2, this.X, clipBounds.yMax-this._height/2);
pressed = true;
};
this.polzun.onRelease = function() {
stopDrag();
pressed = false;
};
this.polzun.onReleaseOutside = function() {
stopDrag();
pressed = false;
};
function roundTo(theNumber, decPlaces) {
if (decPlaces>=0) {
var temp = Math.pow(10, decPlaces);
return Math.round(theNumber*temp)/temp;
}
}
во втором сам скроллинг который тягать надо с именем polzun
в третьем собственно полоска по которой ездит скролл с именем polosa
кроме этого имеются в руте ещё 2 слоя, в одном маска под которой ездит контент с именем progmask и сам мувик с контентом под маской с именем txt
Описал всё детально как только мог... очень нужна помощь, заранее ОГРОМНОЕ спасибо.
з.ы. считаю данный скроллинг очень удобным и простым, пользуюсь им постоянно, посему прошу помочь именно с ним, а не предлагать альтернативу своих скроллов.
з.з.ы. надеюсь на этот раз я правильно написал тему и она отражает чётко суть вопроса и Уважаемый модератор не закроет тему на этот раз...
выглядит он следующим образом:
мувиклип scroll, в нем скрипт
onClipEvent (load) {
target = _parent.txt;
mask = _parent.progmask;
// К - коэффициент насколько большим считать клип чем он есть для того, чтобы до конца проскролировать
// (1<=K)
K = 1;
// Т - коэффициент тормознуости чем он больше тем инерционнее движение (1<= T <=30)
T = 5;
}
внутри него 3 слоя:
в первом скрипт:
clipBounds = this.getBounds(this);
pressed = false;
targetY = target._y;
polsun._y = clipBounds.yMin+polsun._height/2;
deltaY = 0;
this.onEnterFrame = function() {
function Calculation() {
var scrollheight = (clipBounds.yMax-clipBounds.yMin)-polzun._height;
var scrollposition = (polzun._y-polzun._height/2-clipBounds.yMin)/scrollheight;
deltaY = (target._y-(targetY-scrollposition*(target._height*K-mask._height)))/T;
target._y -= deltaY;
updateAfterEvent();
}
if (pressed) {
Calculation();
} else {
if (!pressed && roundTo(deltaY, 1) != 0) {
Calculation();
}
}
};
this.polzun.onLoad = function() {
X = _x;
};
this.polzun.onPress = function() {
startDrag(this, false, this.X, clipBounds.yMin+this._height/2, this.X, clipBounds.yMax-this._height/2);
pressed = true;
};
this.polzun.onRelease = function() {
stopDrag();
pressed = false;
};
this.polzun.onReleaseOutside = function() {
stopDrag();
pressed = false;
};
function roundTo(theNumber, decPlaces) {
if (decPlaces>=0) {
var temp = Math.pow(10, decPlaces);
return Math.round(theNumber*temp)/temp;
}
}
во втором сам скроллинг который тягать надо с именем polzun
в третьем собственно полоска по которой ездит скролл с именем polosa
кроме этого имеются в руте ещё 2 слоя, в одном маска под которой ездит контент с именем progmask и сам мувик с контентом под маской с именем txt
Описал всё детально как только мог... очень нужна помощь, заранее ОГРОМНОЕ спасибо.
з.ы. считаю данный скроллинг очень удобным и простым, пользуюсь им постоянно, посему прошу помочь именно с ним, а не предлагать альтернативу своих скроллов.
з.з.ы. надеюсь на этот раз я правильно написал тему и она отражает чётко суть вопроса и Уважаемый модератор не закроет тему на этот раз...