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

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

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

Регистрация: Aug 2005
Сообщений: 33
Отправить сообщение для AlexFomin с помощью ICQ
Question Дугообразный скролл-бар

Подскажите плз можно ли зафиксировать траекторию перетаскиваемого по дуге бегунка, как например guide layer для твина, или только скриптом? может есть пример? плз

Старый 06.07.2006, 05:42
0xFFFFFF вне форума Посмотреть профиль Отправить личное сообщение для 0xFFFFFF Посетить домашнюю страницу 0xFFFFFF Найти все сообщения от 0xFFFFFF
  № 2  
Ответить с цитированием
0xFFFFFF
† Таня Белая
 
Аватар для 0xFFFFFF

Регистрация: Mar 2006
Адрес: Москва
Сообщений: 929
Отправить сообщение для 0xFFFFFF с помощью ICQ Отправить сообщение для 0xFFFFFF с помощью Skype™
скриптом.
__________________
Flashress' Blogue

Старый 07.07.2006, 00:58
AlexFomin вне форума Посмотреть профиль Отправить личное сообщение для AlexFomin Найти все сообщения от AlexFomin
  № 3  
Ответить с цитированием
AlexFomin
 
Аватар для AlexFomin

Регистрация: Aug 2005
Сообщений: 33
Отправить сообщение для AlexFomin с помощью ICQ
Вот такую муру надумал,
Код:
k=0; 			//нажата кнопка или нет
R=227.5; 		//радиус окружности по дуге которой идет движение бегунка
UP_LIMIT = -73; //верхняя граница 
DOWN_LIMIT = 150; //нижняя граница
x_off = -176;	//смещение центра окружности относительно центра координат 
y_off = 19.5;	//
PATH = scrollbar_but1_mc;
Y_START = -72.9;	//начальное положение бегунка

//init
PATH._y = Y_START;
PATH._x = R*Math.sin(Math.acos((Y_START - y_off)/R)) + x_off;

//Listeners

scrollbar_but1_mc.onPress = function() 
	{ k=1;
    if((PATH._y < DOWN_LIMIT)&&(PATH._y > UP_LIMIT)){this.startDrag();};
	}

scrollbar_but1_mc.onRelease = function() 
	{k=0;
    this.stopDrag();
	}
scrollbar_but1_mc.onReleaseOutside = function() 
	{k=0;
    this.stopDrag();
	}

scrollbar_but1_mc.onMouseMove = function () {if (k==1){

	if((PATH._y < DOWN_LIMIT)&&(PATH._y > UP_LIMIT))
	{PATH._x = R*Math.sin(Math.acos((PATH._y - y_off)/R)) + x_off;
	my_txt.scroll = Math.abs(UP_LIMIT - MATH._y)*my_txt.maxscroll/Math.abs(UP_LIMIT - DOWN_LIMIT)+1;}
	else 
		if(PATH._y > DOWN_LIMIT){PATH._y = DOWN_LIMIT-0.1;PATH._x = R*Math.sin(Math.acos((PATH._y - y_off)/R)) + x_off;} 
		else 
			if(PATH._y < UP_LIMIT){PATH._y = UP_LIMIT+0.1;PATH._x = R*Math.sin(Math.acos((PATH._y - y_off)/R)) + x_off;}
	updateAfterEvent();

}
}
но что-то явно не то, вроде все работает(особенно когда текстового поля нет или почти пустое ), но когда текст большой и например с отбрасыванием тени, то при резких движениях нажатой мыши по оси X бегунок буквально срывается с пути, при отпускании возвращается, может поделитесь лучшими идеями, или хотя бы может тут что-то можно сделать.

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

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

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


 


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


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