Цитата:
|
Вообще, интерфейсы - это непростая штука, правильное решение должно включать как минимум: простую возможность локализации (с самого начала), контейнеры (понадобится, уверен на 100%), лэйауты (как, скажем, будете позиционировать кнопку относительно левого нижнего края экрана? каждый раз ручками?), скинование/стилизация (минимальная поддержка CSS спасет много времени). Удобен декларативный подход к созданию интерфейсов. Использую, например, что-то вроде mxml:
|
Я видел товарищей, которые располагают компоненты _кодом_, хардкодя _абсолютные_ координаты в весьма сложных интерфейсах. Так что лейауты - нафиг не нужны.
Хотя когда приходится править этот код - хочется положить руку на лицо.
Плюс: стандартные лайауты неприменимы к тому, что приходится делать в играх (например, у нас используются хитрые раскладки с заданием отступов, смещений, выравниваний для каждого элемента раскладки отдельно).
Плюс: система валидации и необходимость просовывания в лайауты компонентов особого типа делает их неприменимыми для игр (мы отказались от системы валидации - лучше чуток дописать кода и вызвать образмеривание вручную, чем ловить баги и подстраиваться под эту систему, так же пришлось пропихивать в лайауты сразу DisplayObject, без всяких левых интейрфейсов IUIComponent)
А как подгоняют размер компонентов под локализацию при использовании Flash IDE - для меня загадка (это одна из причин, почему побаиваемся переходить на эту технологию)
Скинование стилизация в играх не нужна. Ну реально, Вы видели игры, где можно настроить скины? Это только усложнение кода на ровном месте.
Цитата:
|
Удобен декларативный подход к созданию интерфейсов. Использую, например, что-то вроде mxml
|
Да удобен, особенно в сочетании с gui построителем. Тут тебе и использование раскладок и визуальное расположение элементов и _визуальное_ управление состояниями - и все это одновременно! Неудобно только компоненты под это дело писать. Потому и не используется в играх
