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

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
murz, да проблем нету, сел и написал. Мне просто хочется написать так, чтобы допиливание происходило через наследование, нормально и понятно, причем желательно достаточно гибко, вот и интересуюсь, не было ли у кого опыта.

Попапы, управление окнами и прочее мне пока что нафиг ненужно, я написал то, что я использую в 90% проектах. Попапы и прочее, дай бог, вспомнить бы хоть один проект где я это использовал...

И да, для меня Алерт это сообщение, сообщение с кнопками да нет, любой дисплей обджект.. короче, для меня это многое)

Старый 21.08.2010, 13:44
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 22  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Котяра Посмотреть сообщение
Был соблазн делать что-то вроде mxml и css для варавниваний/позиций итп, но потом понял, что легче писать as-код конкретного компонента чем городить непонятно на каком языке без автокомплитов и валидации.
А мы таки сгородили mxml/css. Жаль, правда, что оно умрет скоро.

Старый 21.08.2010, 14:58
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 23  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
Цитата:
Сообщение от etc Посмотреть сообщение
Жаль, правда, что оно умрет скоро.
если не секрет - почему?

Старый 21.08.2010, 15:17
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 24  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от switcher! Посмотреть сообщение
если не секрет - почему?
Потому что в TZ не осталось тех, кто его знает вдоль и поперек.

Старый 21.08.2010, 17:30
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 25  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Сообщение от etc Посмотреть сообщение
Потому что в TZ не осталось тех, кто его знает вдоль и поперек.
Вот и я о том же. Выгода от написания внешних нагромождений резко падает с исчезновением инициаторов этих нагромождений)
__________________
Отряд Котовскага

Старый 21.08.2010, 17:40
switcher! вне форума Посмотреть профиль Отправить личное сообщение для switcher! Найти все сообщения от switcher!
  № 26  
Ответить с цитированием
switcher!

Регистрация: May 2009
Сообщений: 220
фуф, я пишу нечто похожее в свободное время и начал было беспокоиться ))

Цитата:
Сообщение от etc Посмотреть сообщение
Потому что в TZ не осталось тех, кто его знает вдоль и поперек.
Цитата:
Сообщение от Котяра Посмотреть сообщение
Выгода... резко падает с исчезновением инициаторов
а документацию написать... не?

Старый 21.08.2010, 22:13
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 27  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
А я вот кстати думаю, как написать скроллпейн.
В идеале я так думаю в него можно делать addChild, задав высоту и ширину самого скроллпейна, остальное он сделает сам.
Только вот при движении детей ширина и высота "контента" может меняться... Не вешать же на ENTER_FRAME проверку. Какие есть идеи?)

Старый 21.08.2010, 22:50
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 28  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Только вот при движении детей ширина и высота "контента" может меняться... Не вешать же на ENTER_FRAME проверку. Какие есть идеи?)
А при изменении ширины контента может понадобиться перерасположить детей

Перегружать set x и set y и вызывать внутри них что-то типа:
Код AS3:
var container:IMyContainerBase = parent as MyContainerBase;
if (container != null)
{
    container.invalidateByChild();
}
а в контейнере вызывать тяжолую функцию validate(), только если его девалидировали перед отрисовкой следующего кадра единожды
Код AS3:
protected function validate()
{
     if (_isValid)
     {
           return;
      }
     _isValid = true;
     // Погнали пересчитывать свои размеры и перерасполагать детей
}
И можно еще вызывать при спрашивании размеров, если эта функция размеры контейнера пересчитывает(не дожидаясь начала перерисовки кадра):
Код AS3:
public function get width():void
{
    if (!_isValid)
    {
        validate();
    }  
    return _width;// это значение уже правильно пересчитано методом validate()
}
Можно событиями - но дороже по ресурсам.
И ломать голову как сделать циклы валидации - инвалидации, чтобы оно не зациклилось
Подсматривать как это сделано - во флекс и aswing - я сам до конца не вкурил.

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


Последний раз редактировалось expl; 21.08.2010 в 23:07.
Старый 21.08.2010, 23:11
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 29  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Да это ежу понятно.
Только если что-то большое требует скролла (ну, такие дела) - переределывать им всем геттеры-сеттеры на x, y не вариант.
x, y, scaleX, scaleY, graphics, width, height... Многовато будет. Причем для каждого объекта. А SimpleButton финальный, к тому же.

И перегрузка подразумевает изменение сигнатуры. Правильнее сказать "переопределение".

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

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
переределывать им всем геттеры-сеттеры на x, y не вариант.
x, y, scaleX, scaleY, graphics, width, height...
Ну дык, во флексе тоже на изменение положения/размеров НЕ флексового компонента контейнер реагировать не будет.

Если компонент о своем изменении не раскажет - кто же раскажет?
Только его обертка, если ее сделать. Ее можно и поверх объекта с финальным классом натянуть,
Про удобство такого подхода все понятно (и если сама кнопка вдруг вздумает изменить положение без внешнего присвоения x - ничего обертка не сможет сделать), но, тем не менее, можно сделать при необходимости.


Вообще, проблемы может и не возникнуть:
- Когда обычно задаются координаты элементов? - при добавлении в родитель (если мы лайаут не используем)
Т.е. отложенная валидация после добавления объекта - и все, не надо никаких перемещений отлавливать.

Тут проблема больше не в x и y, а высоте и ширине - они чаще меняются - т.е. изменилась высота текстового поля - родитель должен отреагировать.


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

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

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


 


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


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