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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.03.2007, 19:38
NilovSerge вне форума Посмотреть профиль Отправить личное сообщение для NilovSerge Найти все сообщения от NilovSerge
  № 1  
Ответить с цитированием
NilovSerge
[+1.3 08.02.07]

Регистрация: Sep 2006
Сообщений: 8
По умолчанию Сразу тянуть невиденный бегунок

Всем привет!
Подскажите, пожалуйста. У меня есть бегунок и полоска. И бегунок таскается по этой полоске.
Бегунок изначально невиден. Хочется, чтобы при невидимом бегунке щелкнув мышкой на полоске не только
отобразить бегунок на месте щелчка, но и СРАЗУ бегунок забегал за мышкой. А пока что получается :
По щелчку мышки в событии onPress я отображаю бегунок и делаю ему startDrag.
Я должен отпустить мышку.
Только повторным щелчком на бегунке я начинаю его тянуть...
Очень не хочется отпускать мышку а лишний раз щелкать... Можно ли такое сделать? Если да то как ?

Старый 30.03.2007, 21:35
vadja вне форума Посмотреть профиль Отправить личное сообщение для vadja Найти все сообщения от vadja
  № 2  
Ответить с цитированием
vadja
 
Аватар для vadja

Регистрация: Oct 2005
Сообщений: 157
k - это твой бегунок
Код:
k._alpha = 30;
k.onPress = function(){
	k._alpha = 100;
	k.startDrag(false);
}
k.onMouseUp = function(){
	k._alpha = 30;
	k.stopDrag();
}
__________________
и где же смысл?


Последний раз редактировалось vadja; 30.03.2007 в 21:42.
Старый 30.03.2007, 21:45
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 3  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Цитата:
Сообщение от vadja
k - это твой бегунок
Код:
k._alpha = 30;
k.onPress = function(){
	k._alpha = 100;
	k.startDrag(false);
}
k.onMouseUp = function(){
	k._alpha = 30;
	k.stopDrag();
}
onMouseUp это где?

Старый 30.03.2007, 22:30
vadja вне форума Посмотреть профиль Отправить личное сообщение для vadja Найти все сообщения от vadja
  № 4  
Ответить с цитированием
vadja
 
Аватар для vadja

Регистрация: Oct 2005
Сообщений: 157
все во фрейм, ну или можешь на сам бегунок повесить, это не сложно, включай мозги =)
__________________
и где же смысл?

Старый 30.03.2007, 22:42
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 5  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
vadja, зачем мне мозги если у меня есть хелп? А в хелпе есть поиск. Вот сам попробуй и поймешь, с чем onMouseUp едят.

UPD:
Я к тому, что это событие вызывается, где бы ни была мышка, каждый раз когда юзер щелкает кнопкой. Тут оно еще прокатит, но в какой-нибудь момент можно нарваться. Так что или классический способ:
Код:
k.onRelease = k.onReleaseOutside = function(){
	k._alpha = 30;
	k.stopDrag();
}
Тут надо обрабатывать onReleaseOutside, потому что некоторые хитрые пользователи курсор в сторону уводят и там отпускают.
Или переопределять обработчики:
Код:
k._alpha = 30;
function kOnMouseUp(){
	k._alpha = 30;
	k.stopDrag();
	k.onMouseUp = null;
}
k.onPress = function(){
	k._alpha = 100;
	k.startDrag(false);
	k.onMouseUp = kOnMouseUp;
}
Ну или Mouse.addListener()


Последний раз редактировалось Kikasso; 30.03.2007 в 23:09.
Старый 31.03.2007, 02:29
vadja вне форума Посмотреть профиль Отправить личное сообщение для vadja Найти все сообщения от vadja
  № 6  
Ответить с цитированием
vadja
 
Аватар для vadja

Регистрация: Oct 2005
Сообщений: 157
ишь, и сам все нашел, молодец! =)
чем мой код не понравился, до сих пор не допер (какраз такой для объектов типа бегунка и надо использовать, или я че не так понял), ну да ладно, не обязательно отвечать.

Цитата:
vadja, зачем мне мозги если у меня есть хелп? А в хелпе есть поиск.
правильно, зачем лишний раз напрягаться, када есть F1.

форум + хелп заменяют мозги ура, товарищи!
__________________
и где же смысл?

Старый 31.03.2007, 03:42
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 7  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Цитата:
Сообщение от vadja
чем мой код не понравился, до сих пор не допер
Объясняю: события onMouseDown и onMouseUp срабатывают каждый раз, когда пользователь кливает мышкой, причем в любом месте флешки, а не только над объектом. Тестовый файл работает, все ура, вы делаете приложение в котором 20 ползунков, и все они одновременно отрабатывают каждый onMouseUp. В данном случае каждый ползунок в тысячный раз скажет stopDrag() и присвоит себе альфу 30, а если сценарий отпускания ползунка посложнее? Звякнет колокольчик, где-то что-то мигнет... Да хотя бы на курсор - мувиклип, вы кликаете, курсор отваливается.. А ползунка в кадре может вообще и не быть при этом видно.
Вот собственно и все, что я имею против onMouseUp для мувиклипа.

Старый 31.03.2007, 18:06
vadja вне форума Посмотреть профиль Отправить личное сообщение для vadja Найти все сообщения от vadja
  № 8  
Ответить с цитированием
vadja
 
Аватар для vadja

Регистрация: Oct 2005
Сообщений: 157
а условие if никогда не использовал?

в вопросе ОДИН бегунок, так что для одного бегунка мой код вполне подходит, а твое "если" вообще неуместно, потомучто я тоже могу написать типа "а если вдруг землетрясение, а у тя onMouseUp, а если вдруг инопланетяне прилетят, а у тебя на кнопке onMouseDown", не дела это все...
__________________
и где же смысл?


Последний раз редактировалось vadja; 31.03.2007 в 18:12.
Старый 31.03.2007, 23:09
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 9  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Неправильный подход. Если что-то делаешь, пусть хоть инопланетяне прилетят - все должно работать.
Станартная ситуация: текстовое поле с прокрутчиком спрятано, невидимо или убрано за пределы сцены, так вот onMouseDown и onMouseUp все равно срабатывают.

Старый 01.04.2007, 13:35
vadja вне форума Посмотреть профиль Отправить личное сообщение для vadja Найти все сообщения от vadja
  № 10  
Ответить с цитированием
vadja
 
Аватар для vadja

Регистрация: Oct 2005
Сообщений: 157
что ты мне доказать пытаешься?) то, что эти функции рабатывают глобально? так я знаю.

я специально это использовал, т.к. попробуй даже этот скролл броузера справа, нажми на бегунок, уведи мышку в сторону и отпусти, прокрутка остановится! такой же эффект должен быть и с любым другим бегунком, поэтому и onMouseUp в моем коде, про onMouseDown не я начал говорить... =)

кароче мне надоела эта тема.
__________________
и где же смысл?

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

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

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


 


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


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