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

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

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

Регистрация: Jan 2011
Сообщений: 2
Question Вопрос про самодельный скролер

Подскажите, пожалуйста, как решить такую задачу:

Есть сделанный во флеше скроллер. Он работает в таком варианте: зажимаешь кнопку мыши, тянешь ползунок вниз, отпускаешь после этого меню поднимается вверх (изменяются координаты по y).

Код AS1/AS2:
onClipEvent (load) 
{
}
 
onClipEvent (mouseDown) 
{
	stPoint = this._y;
	if (this.hitTest(_root._xmouse, _root._ymouse, 1))
	{
		this.startDrag(this, false, 430, 0, 75, -51);
	}
}
 
onClipEvent (mouseUp) 
{
	this.stopDrag();
	fnPoint = this._y;
	speed = fnPoint - stPoint;
	newPos = _root.lmenu_mc._y;
	newPos = (newPos + (speed * (-2)));
	trace(speed);
	trace(newPos);
	_root.lmenu_mc._y = newPos;
}

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

Пока что получилось вот так:

Код AS1/AS2:
onClipEvent (load) 
{
}
 
onClipEvent (mouseMove) 
{
	stPoint = this._y;
 
	if (this.hitTest(_root._xmouse, _root._ymouse, true))
	{
		this.startDrag(this, false, 430, 0, 75, 0);
		fnPoint = _root._ymouse;
		trace(fnPoint);
		speed = fnPoint - stPoint;
		newPos = _root.lmenu_mc._y;
		newPos = (newPos + (speed * (-2)));
		_root.lmenu_mc._y = newPos;
	}
	else
	{
		this.stopDrag();
	}
}
Собственно, две проблемы:
1. Как можно одновременно прописать проверку двух условий при onClipEvent (mouseMove) - hitTest и mouseDown? Просто добавлением через & в if не получилось. А так получается, что ползунок бегает за мышкой без нажатия кнопки.
2. При перетягивании ползунка вниз все работает, при перетягивании вверх не срабатывает условие hitTest. Как можно побороть эту проблему?
Заранее спасибо.


Последний раз редактировалось udaaff; 20.01.2011 в 01:20. Причина: Соблюдайте правила табуляции.
Старый 20.01.2011, 08:51
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 2  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Пишите код в кадрах. Иначе запутаетесь.

Код AS1/AS2:
скроллбар.бегунок.onPress = function() {
	this.pressed = true;
	this.offsetY = this._ymouse;
};
скроллбар.бегунок.onMouseUp = function() {
	this.pressed = false;
};
скроллбар.onMouseMove = function() {
	if (this.бегунок.pressed) {
		this.бегунок._y = this._ymouse-this.бегунок.offsetY;
		// Далее крутим контент и ограничиваем перемещение бегунка
	}
};
__________________
hauts.ru


Последний раз редактировалось Hauts; 20.01.2011 в 08:57.
Старый 21.01.2011, 04:20
Fairy Wilbury вне форума Посмотреть профиль Отправить личное сообщение для Fairy Wilbury Найти все сообщения от Fairy Wilbury
  № 3  
Ответить с цитированием
Fairy Wilbury

Регистрация: Jan 2011
Сообщений: 2
Спасибо, попробую = )

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

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

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


 


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


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