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

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

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

Регистрация: Aug 2003
Сообщений: 204
По умолчанию проблема со скроллингом колеса

Столкнулся с такой проблемой - есть флэш сайт, есть там поле с контентом и скроллингом и сам сайт в браузере тоже скроллируется стандартным скроллингом, так вот стоит потягать скроллинг как колесо тупо привязывается к области скроллирования и стандартный скроллинг браузера перестаёт реагировать на колесо мыши, кто знает как с помощью AS это пофиксить ?


Последний раз редактировалось DJ_Baton; 23.05.2008 в 04:13.
Старый 23.05.2008, 04:29
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Вызвать javascript, котороый вернут фокус на html страницу
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 23.05.2008, 06:27
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 3  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
хм не уловил идею, я в JS не особо шарю но если вы объясните принцип то я объясню программисту...
тут ещё одна идея в голове мелькала не знаю получится или нет - сделать работоспособность скрипта колеса мыши только если курсор мыши находится в поле скроллируемого во флэшине контента, если же нет тогда скрипт не пашет, только вот вернет ли это скроллирование всей страницы не знаю...

Старый 23.05.2008, 08:20
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
События от колеса получает то приложение, которое имеет на себе фокус. По умолчанию, фокус находится на html странице и скролируется она. Когда вы кликнули по флешу, события начинает получать флеш, а не страница. Поэтому надо сместить фокус обратно. Если вы говорите о js программисте, то он должен знать как это делать.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 23.05.2008, 17:21
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 5  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
а как через AS сделать вызов яваскрипта ?

Старый 23.05.2008, 17:28
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Через класс flash.external.ExternalInterface
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 23.05.2008, 20:27
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 7  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
Апдейт:
Цитата:
onEnterFrame = function () {
mask_mc.onDragOut = function() {
flash.external.ExternalInterface.call("myFocus");
};
};
правильно ?
вот JS в хеде:
Цитата:
<script>
myFocus() { window.focus() }
</script>

АПДЕЙТ вот вроде правильный скрипт проверяющий наличие курсора мыши в поле контента, только вызов функции я помоему неправильно написал
Код:
onEnterFrame = function () {
	if ((_root._xmouse>310 && _root._xmouse<900) || (_root._ymouse<427 && _root._ymouse>702)) {
		trace("мы внутри контента");
	} else {
		trace("мы вне контента");
		flash.external.ExternalInterface.call("myFocus");
	}
};


Последний раз редактировалось DJ_Baton; 23.05.2008 в 21:00.
Старый 24.05.2008, 12:30
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 8  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Пффф... ты убрал мышку с flash ролика. Что будет возвращать _xmouse и _ymouse?
Напомню, что flash - безобидейшее существо, получить _xmouse и _ymouse он НЕ может, когда мышка находиться вне флэш ролика (исключение баг с dragOut`ом из флэш ролика).
Вывод: тот код, что ты написал выше нужно переделать под js, то есть вызвать его из js`a.

Старый 24.05.2008, 20:20
DJ_Baton вне форума Посмотреть профиль Отправить личное сообщение для DJ_Baton Найти все сообщения от DJ_Baton
  № 9  
Ответить с цитированием
DJ_Baton

Регистрация: Aug 2003
Сообщений: 204
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Пффф... ты убрал мышку с flash ролика. Что будет возвращать _xmouse и _ymouse?
Напомню, что flash - безобидейшее существо, получить _xmouse и _ymouse он НЕ может, когда мышка находиться вне флэш ролика (исключение баг с dragOut`ом из флэш ролика).
Вывод: тот код, что ты написал выше нужно переделать под js, то есть вызвать его из js`a.
с какого я это флэш ролика убрал ? ))))) С чего это ты вообще взял ? У меня весь сайт на флэше и проверку он делает исключительно на нахождение в поле скроллируемого контента и должен возвращать фокус сайту когда мышка уходит из скроллируемого поля

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

Регистрация: Aug 2003
Сообщений: 204
Попытаюсь ещё раз внятно описать проблему...
Есть поле с определенными координатами - это область в которой во флэшке скроллируется контент, я описал эту область в скрипте, исходя из trace-а она описана верно и работает верно и к ней не возвращаемся, вопрос у меня только 1 - как правильно запускать JS функцию ?
Вот мой скрипт...
Код:
import flash.external.ExternalInterface;
F_myFocus = function (col) {
	ExternalInterface.call("myFocus", col);
};
onEnterFrame = function () {
	if ((_root._xmouse>310 && _root._xmouse<900) || (_root._ymouse<427 && _root._ymouse>702)) {
		trace("мы внутри контента");
	} else {
		trace("мы вне контента");
		F_myFocus();
	}
};
Что я пишу не так, помогите плиз, разве так сложно указать на ошибку ?

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

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

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


 


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


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