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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 28.12.2009, 18:22
ZergMaster вне форума Посмотреть профиль Отправить личное сообщение для ZergMaster Найти все сообщения от ZergMaster
  № 1  
ZergMaster
 
Аватар для ZergMaster

Регистрация: May 2008
Адрес: Питер
Сообщений: 385
Отправить сообщение для ZergMaster с помощью ICQ Отправить сообщение для ZergMaster с помощью Skype™
По умолчанию scrolling

люди, помогите.
Весь день бьюсь головой об стенку, пытаясь сделать примитивнейший скроллинг!.. (((

Пробовал через MOUSE_WHEEL но там есть огромная проблема, которая заключается в том, что фиг знает как задать вертикальные границы скроллинга. Ну, верхнюю понятно как, а вот нижнюю... Вот код функции прокрутки:

Код AS3:
var varDif=forScroll.scrollMov.height-350;
forScroll.scrollMov.scrollRect = new Rectangle(0, 0, forScroll.scrollMov.width, 350);
forScroll.scrollMov.cacheAsBitmap = true; 
var rect:Rectangle = forScroll.scrollMov.scrollRect; 
 
addEventListener(MouseEvent.MOUSE_WHEEL, scrolling); 
  function scrolling(event:MouseEvent):void 
 	{
 
	if(event.delta >0) //если колесико вверх
		{
 
	    if(rect.y>0) {
			 rect.y -= 1;  
 
			 }
			 forScroll.scrollMov.scrollRect = rect;
		} 
	if(event.delta <0) //если колесико вниз
		{
		if(rect.y < 0-varDif) //моя жалкая попытка ограничить нижний скроллинг
                {
 
			rect.y += 1; 
		    forScroll.scrollMov.scrollRect = rect; 
		}
	}
	}
но эта rect какая-то непонятная. Отвечает за строки.. А ведь нужны пикселы.

Добавлено через 31 час 41 минуту
что, неужто никто не может помочь?
Я перехожу со второго. Там все так было просто.
Неужели в AS3 нет способа просто отловить событие колесика мышки и сделать по нему все, что хочешь? Так, чтобы это было по аналогии с MouseEvent.CLIK

Ой, или я туплю... и addEventListener(MouseEvent.MOUSE_WHEEL, scrolling) это то самое и есть. Гы.

Добавлено через 36 часов 16 минут
вобщем я осознал свою тупость. Все-таки надо спать иногда... Размещаю код для скроллига (scroll) содержимого неизвестного размера под маской, мало ли кому понадобится в очередном приступе тупняка:
Код AS3:
/*переменная, узнающая разницу между высотой маски и высотой подгружаемого в нее содержимого. Это нужно для того, чтобы ограничить прокрутку вниз. muv - контэйнер, в котором все лежит, masker - клип-маска, scr - прокручиваемое содержимое*/
var varDif= muv.masker.height-muv.scr.height;
//добавляем слушатель на прокрутку колесика
muv.addEventListener(MouseEvent.MOUSE_WHEEL, scrolling); 
  function scrolling(event:MouseEvent):void 
 	{
 
	if(event.delta >0) //если колесико вверх
		{
                        //ограничиваем прокрутку вниз верхней границей маски
			if(muv.scr.y<0) { 
                                              muv.scr.y+=5
					      };
		};
	if(event.delta <0) //если колесико вниз
		{
                        //ограничиваем прокрутку вверх нижней границей маски
			if(muv.scr.y>varDif) { 
                                                    muv.scr.y-=5
						    };
		}
	}
Добавлено через 36 часов 20 минут
единственный и довольно существенный минус состоит в том, что в данном случае скроллится в первую очередь страница, а потом уже содержимое. Было бы круто осуществлять захват скролллинга полностью, и я точно знаю, что это возможно, интересно только как.


Последний раз редактировалось ZergMaster; 28.12.2009 в 18:26.
Старый 30.12.2009, 07:51
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 2  
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
http://www.flasher.ru/forum/showthread.php?t=131025

Старый 30.12.2009, 08:19
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Название темы не отражает сути вопроса.

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

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

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


 


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


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