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

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

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

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Вообще, интерфейсы - это непростая штука, правильное решение должно включать как минимум: простую возможность локализации (с самого начала), контейнеры (понадобится, уверен на 100%), лэйауты (как, скажем, будете позиционировать кнопку относительно левого нижнего края экрана? каждый раз ручками?), скинование/стилизация (минимальная поддержка CSS спасет много времени). Удобен декларативный подход к созданию интерфейсов. Использую, например, что-то вроде mxml:
Я видел товарищей, которые располагают компоненты _кодом_, хардкодя _абсолютные_ координаты в весьма сложных интерфейсах. Так что лейауты - нафиг не нужны.
Хотя когда приходится править этот код - хочется положить руку на лицо.

Плюс: стандартные лайауты неприменимы к тому, что приходится делать в играх (например, у нас используются хитрые раскладки с заданием отступов, смещений, выравниваний для каждого элемента раскладки отдельно).

Плюс: система валидации и необходимость просовывания в лайауты компонентов особого типа делает их неприменимыми для игр (мы отказались от системы валидации - лучше чуток дописать кода и вызвать образмеривание вручную, чем ловить баги и подстраиваться под эту систему, так же пришлось пропихивать в лайауты сразу DisplayObject, без всяких левых интейрфейсов IUIComponent)

А как подгоняют размер компонентов под локализацию при использовании Flash IDE - для меня загадка (это одна из причин, почему побаиваемся переходить на эту технологию)

Скинование стилизация в играх не нужна. Ну реально, Вы видели игры, где можно настроить скины? Это только усложнение кода на ровном месте.

Цитата:
Удобен декларативный подход к созданию интерфейсов. Использую, например, что-то вроде mxml
Да удобен, особенно в сочетании с gui построителем. Тут тебе и использование раскладок и визуальное расположение элементов и _визуальное_ управление состояниями - и все это одновременно! Неудобно только компоненты под это дело писать. Потому и не используется в играх

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

Регистрация: May 2004
Адрес: Малайзия
Сообщений: 20
Цитата:
хардкодя _абсолютные_ координаты в весьма сложных интерфейсах. Так что лейауты - нафиг не нужны
Ага, можно захардкодить что угодно А вот как вы собираетесь поддерживать разные девайсы с разными дисплеями и ориентациями? На каждое разрешение свой гуй хардкодить?
Цитата:
стандартные лайауты неприменимы к тому, что приходится делать в играх
не все варианты, но очень многие покрываются элементарными canvas/horizontal/vertical/grid/flow
Цитата:
система валидации и необходимость просовывания в лайауты компонентов особого типа делает их неприменимыми для игр
А в чем проблема вручную вызывать validateNow(), когда это нужно? Кстати, это нужно очень нечасто
Цитата:
А как подгоняют размер компонентов под локализацию при использовании Flash IDE - для меня загадка
Наверное, что-то вроде
Код AS1/AS2:
button.x = container.width - button.width - hGap;
Ну бред же, правда?
Цитата:
Скинование стилизация в играх не нужна. Ну реально, Вы видели игры, где можно настроить скины?
Не обязательно для настройки пользователем. А у вас не было таких пожеланьиц от заказчика: "а теперь хочу, чтобы все кнопочки, кроме этих, стали синенькими, а вот у этих боксиков, пожалуйста, расстояние между элементиками увеличьте, а всем текстикам, будьте добры, тень прихреначьте"? Скины+стили реально спасают.
Цитата:
Да удобен, особенно в сочетании с gui построителем
Можно жить и без gui построителя.
Цитата:
Неудобно только компоненты под это дело писать
От компонентов тут ничего не требуется. Парсер, билдер - вещи совершенно для компонентов внешние.

Но вообще, да. Этот подход требует предварительной подготовки, но потом, когда все отработано, это лютый вин.

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

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Цитата: хардкодя _абсолютные_ координаты в весьма сложных интерфейсах. Так что лейауты - нафиг не нужны

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

Сейчас мы вместо хардкода самопальные раскладки используем. Но не что-бы что-то подгонять под размеры экрана, а чтобы было просто собирать, вносить изменения и динамически менять положение компонентов в интерфейсе. (хардкодом координат нереально тяжело просто это делать)

А если мы будем делать что-то под разные девайсы - то не на флеше.

Цитата:
Цитата: Скинование стилизация в играх не нужна. Ну реально, Вы видели игры, где можно настроить скины?

Не обязательно для настройки пользователем. А у вас не было таких пожеланьиц от заказчика: "а теперь хочу, чтобы все кнопочки, кроме этих, стали синенькими, а вот у этих боксиков, пожалуйста, расстояние между элементиками увеличьте, а всем текстикам, будьте добры, тень прихреначьте"? Скины+стили реально спасают.
Не то чтобы не было пожеланий по изменению интерфейса - были случаи, когда он менялся 3 раза для одной игры, причем сначала разработки его _вообще_ никто даже не рисовал, использовалась заглушечная графика.
Но мы не использовали ни скинов, ни стилей. Были просто компоненты с настройками, статичная фабрика компонентов, и специальные классы-компоненты для тех мест, где фантазия художника била ключом.
Мне страшно представить как бы мы растачивали напильником систему скинов, она первого рескина не прежила бы без изменений. А в компонент-кнопку, например, было внесено 2 -3 изменения в виде пары строчек за 2(два) года. Причём она использовалась в полдюжине проектов.

Цитата:
Цитата: А как подгоняют размер компонентов под локализацию при использовании Flash IDE - для меня загадка

Наверное, что-то вроде
Код AS1/AS2:
button.x = container.width - button.width - hGap;
Мда..

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

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Для позиционирования (подбора) координат гуи- можно в дебаг режиме менять x, y, width, height.
Редко использовал, но такая возможность во Flash Builder есть.

Это я про то, чтобы не компилить по 100500 раз, изменяя на пиксель x,y.
__________________
Отряд Котовскага

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

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

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


 


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


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