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

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

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

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
Question Хитрый слайдер для меню. Как?

Суть в том, что есть 4 пункта меню, занесенных в массив items и слайдер vbn_mc. Слайдер должен в пределах меню при наведении на любой из его пунктов бегать за мышью с замедлением (что мне удалось реализовать), но при уводе мыши с меню у меня слайдер резко останавливается там, где была его последняя координата (delete vbn_mc.onEnterFrame). Меня такой расклад не совсем устраивает и хотелось бы, чтобы при уводе мыши с любого из пунктов меню, слайдер опять же с замедлением останавливался по центру соответствующего пункта.

Код:
var items = [company_btn, portfolio_btn, assoc_btn, contact_btn];
var leftLim = 20+vbn_mc._width/2;
var rightLim = 580-vbn_mc._width/2;
for (var i = items.length; i--; ) {
	var item = items[i];
	item.onRollOver = function() {
		vbn_mc.onEnterFrame = function() {
			var x = _xmouse;
			if (x<leftLim) {
				x = leftLim;
			}
			if (x>rightLim) {
				x = rightLim;
			}
			this._x += Math.round((x-this._x)/10);
		};
	};
	item.onRollOut = item.onDragOut=function () {
		for (var i = items.length; i--; ) {
			if (items[i].hitTest(x, _ymouse, true)) {
				break;
			}
		}
		if (i>=0) {
			return;
		}
		delete vbn_mc.onEnterFrame;
	};
}

Старый 05.03.2006, 20:24
australian incognito вне форума Посмотреть профиль Отправить личное сообщение для australian incognito Найти все сообщения от australian incognito
  № 2  
Ответить с цитированием
australian incognito
 
Аватар для australian incognito

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
По умолчанию !!!

Неужели никто не подскажет?

Старый 05.03.2006, 23:32
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 3  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Не знаю точной иерархии, поэтому тебе придётся подправить пути к мувикам...
Код:
var items = [company_btn, portfolio_btn, assoc_btn, contact_btn];
var leftLim = 20+vbn_mc._width/2;
var rightLim = 580-vbn_mc._width/2;

for(var i in items){//для каждого пункта
    var item=items[i];
    item.onRollOver=function(){
        vbn_mc.onEnterFrame=function(){
            var xm = _xmouse;
            if (xm<leftLim) {
                xm = leftLim;
            }else if (x>rightLim) {
                x = rightLim;
            }//if
            this._x += Math.round((x-this._x)/10);
            var dist=this._x-xm;
            if(dist>-0.5||dist<0.5)delete this.onEnterFrame;  //ключевая строка :)
        }//onEnterFrame
    }//onRollOver
}//for
Да. Наверно так.
__________________
тонкий тролль, осеянный благодатью

Старый 06.03.2006, 05:04
australian incognito вне форума Посмотреть профиль Отправить личное сообщение для australian incognito Найти все сообщения от australian incognito
  № 4  
Ответить с цитированием
australian incognito
 
Аватар для australian incognito

Регистрация: Sep 2005
Адрес: Минск
Сообщений: 389
Спасибо за ответ. Сегодня же обязательно проверю.

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

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

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


 


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


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