Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.12.2005, 07:20
zazaaz вне форума Посмотреть профиль Отправить личное сообщение для zazaaz Найти все сообщения от zazaaz
  № 1  
Ответить с цитированием
zazaaz

Регистрация: Oct 2005
Сообщений: 23
По умолчанию Из Flash 6 вo Flash 7

Есть такая проблема: движок скроллера (взятый и чуть доработаный мной из уроков на 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. Причина: крива фставился кодд.)
Старый 28.12.2005, 15:23
KUZEN вне форума Посмотреть профиль Отправить личное сообщение для KUZEN Посетить домашнюю страницу KUZEN Найти все сообщения от KUZEN
  № 2  
Ответить с цитированием
KUZEN
Ветеран форума
 
Аватар для KUZEN

Регистрация: Jun 2005
Адрес: MOSCOW
Сообщений: 6,852
Отправить сообщение для KUZEN с помощью ICQ Отправить сообщение для KUZEN с помощью Yahoo Отправить сообщение для KUZEN с помощью Skype™
updateAfterEvent(); тут не причём ... а код выдаёт ошибки ?!
__________________
BestMasterиZация

Старый 28.12.2005, 17:52
zazaaz вне форума Посмотреть профиль Отправить личное сообщение для zazaaz Найти все сообщения от zazaaz
  № 3  
Ответить с цитированием
zazaaz

Регистрация: 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, но как? и вообще, каким образом это будет работать... -))

Старый 28.12.2005, 17:57
s_u_m_p вне форума Посмотреть профиль Отправить личное сообщение для s_u_m_p Посетить домашнюю страницу s_u_m_p Найти все сообщения от s_u_m_p
  № 4  
Ответить с цитированием
s_u_m_p

Регистрация: Mar 2004
Адрес: Областной центр "sump"
Сообщений: 202
Отправить сообщение для s_u_m_p с помощью ICQ
lineHeight = deltaHeight/(_root.pole.maxScroll-1); <<-- вот в этой строчке ошибка
Где смотри по хелпу
__________________
:::::::::::: sump ::::::::::::

Старый 28.12.2005, 19:11
zazaaz вне форума Посмотреть профиль Отправить личное сообщение для zazaaz Найти все сообщения от zazaaz
  № 5  
Ответить с цитированием
zazaaz

Регистрация: Oct 2005
Сообщений: 23
ого! заработало

иш ты... регистрозависимый он....

спасибо s_u_m_p )))


Последний раз редактировалось zazaaz; 28.12.2005 в 19:14.
Создать новую тему Ответ Часовой пояс GMT +4, время: 02:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:14.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.