![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2005
Сообщений: 23
|
Есть такая проблема: движок скроллера (взятый и чуть доработаный мной из уроков на flashkit) отказывается работать под 7кой...
Насколько я понял, в нем из старого- updateAfterEvent(); Для того, чтобы он (аптдэйт) работал под 7 плеером, им надо как-то по другому пользоваться. Не подскажите, как, именно в этой ситуации? Похоже что нужно заменить что-то еще, о чем я не догадываюсь... Будте добры, ткните пальцем. onClipEvent (load) {
scrolling = 0;
frameCounter = 1;
speedFactor = 3;
numLines = 32;
origHeight = scrollbar._height;
origX = scrollbar._x;
needInit = true;
function initScrollbar() {
var totalLines = numLines+_root.pole.maxscroll-1;
scrollbar._yscale = 100*(numLines)/totalLines;
deltaHeight = origHeight-scrollbar._height;
lineHeight = deltaHeight/(_root.pole.maxScroll-1);
scrollbar._y = 0;
}
function updateScrollBarPos() {
scrollbar._y = lineHeight*(_root.pole.scroll-1);
}
}
onClipEvent (enterFrame) {
if (needInit) {
if (_root.pole.maxscroll>1) {
initScrollbar();
needInit = false;
}
}
if (frameCounter%speedFactor == 0) {
if (scrolling == "up" && _root.pole.scroll>1) {
_root.pole.scroll -= 1;
updateScrollBarPos();
} else if (scrolling == "down" && _root.pole.scroll<_root.pole.maxscroll) {
_root.pole.scroll += 1;
updateScrollBarPos();
}
frameCounter = 0;
}
frameCounter++;
}
onClipEvent (mouseDown) {
if (up.hitTest(_root._xmouse, _root._ymouse)) {
scrolling = "up";
frameCounter = speedFactor;
up.gotoAndStop(2);
}
if (down.hitTest(_root._xmouse, _root._ymouse)) {
scrolling = "down";
frameCounter = speedFactor;
down.gotoAndStop(2);
}
if (scrollbar.hitTest(_root._xmouse, _root._ymouse)) {
scrollbar.startDrag(0, origX, deltaHeight, origX);
scrolling = "scrollbar";
}
updateAfterEvent();
}
onClipEvent (mouseUp) {
scrolling = 0;
up.gotoAndStop(1);
down.gotoAndStop(1);
stopDrag();
updateAfterEvent();
}
onClipEvent (mouseMove) {
if (scrolling == "scrollbar") {
_root.pole.scroll = Math.round((scrollbar._y)/lineHeight+1);
}
updateAfterEvent();
}
Последний раз редактировалось zazaaz; 28.12.2005 в 07:22. Причина: крива фставился кодд.) |
|
|||||
|
Ветеран форума
|
updateAfterEvent(); тут не причём ... а код выдаёт ошибки ?!
__________________
BestMasterиZация |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 23
|
Нет, никаких ошибок. Просто если компилировать ролик под Flash 6\AS.2 - все работает без проблем, если под Flash 7 - все, что относится к движку "бегунка" перестает работать:
Если смотреть по коду, то не работают конкретно вот эти части (т.е. визуально, того, что они должны делать, не происходит): onClipEvent (mouseMove) {
if (scrolling == "scrollbar") {
_root.pole.scroll = Math.round((scrollbar._y)/lineHeight+1);
}
updateAfterEvent();
}
/* если вы начали перетаскивать бегунок, то
scrolling == "scrollbar" и scroll текстового поля стал = округлен.
отношению _y самого бегунка к ширене одной строки в тексте + 1*/
function updateScrollBarPos() {
scrollbar._y = lineHeight*(_root.pole.scroll-1);
}
/* функция, которая при осуществлении скроллинга
кнопками, заставляет реагировать на него бегунок и менять свое
положение...*/
А на счет updateAfterEvent(); читаю у Гурского: " Функция updateAfterEvent() может быть применена в обработчиках событий в стиле Flash MX, бработчиках onClipEvent Flash 5, а также в функциях, вызываемых цикличеси при помощи setInterval(). Во всех остальных позициях updateAfterEvent() игнорируется " Т.е. похоже, что мне нужно как-то встроить ко мне в скроллер setInterval, но как? и вообще, каким образом это будет работать... -)) |
|
|||||
|
lineHeight = deltaHeight/(_root.pole.maxScroll-1); <<-- вот в этой строчке ошибка
Где смотри по хелпу ![]()
__________________
:::::::::::: sump :::::::::::: |
|
|||||
|
Регистрация: Oct 2005
Сообщений: 23
|
ого! заработало
иш ты... регистрозависимый он.... спасибо s_u_m_p ))) Последний раз редактировалось zazaaz; 28.12.2005 в 19:14. |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|