![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Aug 2003
Сообщений: 204
|
У меня есть скроллинг, по нему собственно вопрос: как сделать скроллирование колесом мыши
выглядит он следующим образом: мувиклип scroll, в нем скрипт onClipEvent (load) {
target = _parent.txt;
mask = _parent.progmask;
// К - коэффициент насколько большим считать клип чем он есть для того, чтобы до конца проскролировать
// (1<=K)
K = 1;
// Т - коэффициент тормознуости чем он больше тем инерционнее движение (1<= T <=30)
T = 5;
}
в первом скрипт: 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;
}
}
в третьем собственно полоска по которой ездит скролл с именем polosa кроме этого имеются в руте ещё 2 слоя, в одном маска под которой ездит контент с именем progmask и сам мувик с контентом под маской с именем txt Описал всё детально как только мог... очень нужна помощь, заранее ОГРОМНОЕ спасибо. з.ы. считаю данный скроллинг очень удобным и простым, пользуюсь им постоянно, посему прошу помочь именно с ним, а не предлагать альтернативу своих скроллов. з.з.ы. надеюсь на этот раз я правильно написал тему и она отражает чётко суть вопроса и Уважаемый модератор не закроет тему на этот раз... |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
onMouseWheel, Mouse.addListener
|
|
|||||
|
Регистрация: Aug 2003
Сообщений: 204
|
эм... никогда такое не делал, не доводилось, помоги пожалуйста, покажи как мой код должен выглядеть чтоб работало
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Регистрация: Aug 2003
Сообщений: 204
|
просто у меня редкий геморрой получается, я пишу в руте:
var mouseListener:Object = new Object();
mouseListener.onMouseWheel = function(delta) {
_root.scroll.polzun._y += delta;
};
Mouse.addListener(mouseListener);
или я должен привяызать функцию и к ползунку и к тексту который он скроллирует, высчитать ещё соотношение между ними, прописать для всех ограничение и ещё чтоб после этих манипуляций при тягании ползунка мышей не было ошибок... много напрягов сильно получается ![]() Последний раз редактировалось DJ_Baton; 06.05.2008 в 20:18. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А кому сейчас легко?
![]() Или вы предлагаете этим геморроем заняться другим? Судя по всему, так и хотели. |
|
|||||
|
Регистрация: Aug 2003
Сообщений: 204
|
я хотел увидеть рациональное решение проблемы, а не заниматься геморроем
давать ссылку на доки по флэшу равносильно как ищущему что-то конкретное дать ссылку на яндекс )) мне например не сложно помочь человеку подробным ответом если я знаю решение его проблемы... посему всё ещё надеюсь увидеть вариант скрипта что бы прикрутить функцию только к скроллбару, а остальное работало на автомате будто его тягают мышой, вопрос довольно актуальный и при решении его думаю будет полезен многим... Если надо могу выложить исходник Если поможите помогу исправить один нехороший баг на форуме FLASHER.ru Последний раз редактировалось DJ_Baton; 07.05.2008 в 09:19. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Я не собираюсь писать код за человека, который не хочется учиться и открыто об этом говорит, требуя «рациональное» решение в виде конечного кода на блюдечке с каемочкой.
Готового кода здесь не будет, это ваш скролл, со своими замутами, я вам дал ссылку на схему работы с колесом мыши во Flash, вам надо было сказать спасибо, прочитать статью и написать необходимый код под свой скролл, попутно научившись работать с этим самым колесом мыши, вместо того, чтобы ворчать на «неправильные» ответы. Тема закрыта. Последний раз редактировалось etc; 07.05.2008 в 09:55. |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|