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

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

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

Регистрация: May 2008
Сообщений: 28
Question проблемы с синхронизацией скролла по onMouseWheel

Здравствуйте!

Есть скролл

Код:
if (obj_mc._height<375)
   {
	scroll_mc._alpha=0;
	line._alpha=0;
	mask_mc._alpha=0;}

else if (obj_mc._height>375)
{

obj_mc.setMask(mask_mc);

var varDif:Number = obj_mc._height- mask_mc._height;
scroll_mc.onPress = function() {
	this.gotoAndStop(2);
	this.startDrag(false, this._x, 0, this._x, mask_mc._height-this._height);
	this.onMouseMove = function() {
		
		this._parent.obj_mc._y = -this._parent.varDif*(this._y/mask_mc._height);
	};
};
scroll_mc.onRelease = scroll_mc.onReleaseOutside=function () {
	this.gotoAndStop(1);
	this.stopDrag();
	delete this.onMouseMove;
};

}

var scrollHeight:Number = mask_mc._height - 50;
var varScroll:Number = obj_mc._height/mask_mc._height;

var mouseListener:Object = new Object();

var minY:Number = 0;
var maxY:Number = scrollHeight;
var step:Number = 10;

var minZ:Number = -varDif;
var maxZ:Number = 0;
var step:Number = 40*varScroll;

mouseListener.onMouseWheel = function(delta) {
   scroll_mc._y = Math.min(Math.max(scroll_mc._y + step * - delta / Math.abs(delta), minY), maxY);
   obj_mc._y = Math.min(Math.max(obj_mc._y + step *  delta / Math.abs(delta), minZ), maxZ);
}
Mouse.addListener(mouseListener);
то что касается колесика мыши я выделила.

все работает, но при прокрутке когда ползунок уже дошел до конца текст в клипе obj_mc продолжает прокручиваться, при этом при разной скорости движения колеса он двигается по-разному.

пробовала менять формулу, максимальные и минимальные значения, ставила разные числа, придумывала переменные - ничего не выходит толком.

мне кажется, это движение должно зависить от того, во сколько раз объект длинее области прокрутки, но не разобраться.

мой вопрос:

можно ли изменить существующую формулу, чтобы все работало как надо?
если да, то как?

если нет, как мне именно в моем случае сделать прокрутку колесом?

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

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

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


 


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


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