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

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

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию события update для скроллеров

Таков вот вопрос. Скроллер по маус-мув делает обновление контента ( тащит по y ) - все стандартно.
Интересует как лучше повесить событие апдейта , когда маус мув не используется, а именно -
При изменении внутренности контента.
Тоесть например, прокрутили мы до середины контента, нажали кнопочку и сменили чайлды контента - нужен апдейт, или же никуда не крутили, но контент стал меньше маски ( скролл теперь не нужен ) - нужен апдейт на это.
По логике нужно создать какое то событие типа евент.CHANGE - для контента? Но при каком случае туда писать? Вариант с изменением кол-ва чайлдов отпадает, это ясно.
__________________
Марк Tween

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Слушать ENTER_FRAME у контейнера в котором лежит контент и при изменении размеров делать то, что нужно.

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Событие фрейма очень мне не нравится, зачем обновлять постоянно счетчик, когда с ним вообще не работают? нафига эти лишние нагрузки.
__________________
Марк Tween

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Какой ещё счетчик? ENTER_FRAME шлется всегда и везде. Какая ещё нагрузка? На проверку условия из двух параметров?
Код AS3:
private function enterFrameHandler(event:Event):void{
	if(_contentHeight < _container.height || _contentHeight > _container.height){
		_contentHeight = _container.height;
		//меняем скролл.
	}
}
Ну или таймер, если у вас страх перед ENTER_FRAME, но это имхо уже велосипед.


Последний раз редактировалось Bgg; 12.08.2011 в 13:16.
Старый 12.08.2011, 13:16
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
ENTER_FRAME однозначно.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
Ну если так хочется без ентер-фрейма - ты знаешь когда и где может произойти смена состояния контейнера. Диспатч событие по клику или по чему там еще.
__________________
Кодинг, багинг, алгоритминг. me @

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
Сообщение от in4core Посмотреть сообщение
Тоесть например, прокрутили мы до середины контента, нажали кнопочку и сменили чайлды контента - нужен апдейт, или же никуда не крутили, но контент стал меньше маски ( скролл теперь не нужен ) - нужен апдейт на это.
По логике нужно создать какое то событие типа евент.CHANGE - для контента?
слушайте событие Event.ADDED и Event.REMOVED у контейнера контента, проверяйте и меняйте. ENTER_FRAME тут избыточен
__________________
freelance | Раздор

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от derhab Посмотреть сообщение
слушайте событие Event.ADDED и Event.REMOVED у контейнера контента, проверяйте и меняйте. ENTER_FRAME тут избыточен
А если в контейнере будет текст?

Старый 12.08.2011, 16:57
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 9  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
для текста есть соответствующее событие change
любое изменение в контенте всегда можно отследить именно в момент изменения, нет никакой необходимости проверять состояние контента в каждом кадре
__________________
freelance | Раздор

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от derhab Посмотреть сообщение
для текста есть соответствующее событие change
любое изменение в контенте всегда можно отследить именно в момент изменения, нет никакой необходимости проверять состояние контента в каждом кадре
А размеры Sprite? А анимация? Собственные классы тоже специально для скролла должны содержать события Change?

Что страшного в ENTER_FRAME? Сто лет назад написал скролл который который принимает Любой визуальный контент, и имеет обработчик ENTER_FRAME. Из проекта в проект пользуюсь им ничего не меняя.

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

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

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


 


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


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