суббота, 9 октября 2010 г.

XNA. gEngine. Forms (GUI)

Вот и созрел я до первого показа своего интерфейса для приложений реализованных на базе XNA. Как говорится лучше один раз увидеть …, так не буду Вас задерживать:

Рекомендую смотреть в HD режиме.


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

Идея архитектуры, данного интерфейса, базируется на архитектуре предложенной в WPF. Но ядро и элементы написаны с нуля и оптимизированы под 3d. Так же данная библиотека работает и на Windows Phone 7.
Список уже реализованных элементов выглядит следующим образом:
- Button
- Canvas
- CheckBox
- CheckElement
- ConsoleOutput
- DataGrid
- Expander
- Image
- ListSelector
- Menu
- ProgressBar
- ScrollBar
- ScrollDiagram2d
- ScrollView
- Slider
- StackPanel
- Switch
- TabControl
- Table
- TextBlock
- TextBox
В этот список попали не характерные для WPF элементы, что было продиктовано первоочередной необходимостью реализации отображения функционала 3d движка.
В представленном видео все элементы и формы выводятся с простым базовым стилем. Под базовым стилем подразумевается (если есть) прямоугольная рамка и (если есть) прямоугольник фона. Стиль любого элемента достаточно просто меняется наследованием от него нового нового класса. Я пока не стал перегружать рабочую версию интерфейса надуманным стилем и растровой графикой, бесполезная трата времени на то что в последствии не пригодится.

14 комментариев:

  1. перенос разговора с xnadev.ru:

    gregsparrow
    09.10.2010
    классно!

    VAB
    09.10.2010
    зачет! серьезная работа сделана!

    gregsparrow
    09.10.2010
    ну ничего себе!!а ты можешь рассказать от чего отталкиваться чтоб сваять такую же красоту?

    general
    09.10.2010
    думал много) и добился минимального расхождения с WPF в описании формы. как то само получалось. 2 года по тихоньку работал над темой. это 5я редакция.

    gregsparrow
    09.10.2010
    просто смотрел как сделано в WPF ?

    general
    09.10.2010
    как там сделано мне не подошло. я отталкивался от функциональности иерархии и позиционирования. взял только идею.

    gregsparrow
    09.10.2010
    а биндинг есть?

    general
    09.10.2010
    в точности как в wpf пока нет. для 3d это коварная тема. я пока управляю частотой обновления форм.

    gregsparrow
    09.10.2010
    а форма и все остальное рисуться как вертекс? не как спрайт?

    ОтветитьУдалить
  2. продолжаем:

    форма представляет собой спрайт. для форм существует отдельный менеджер, который управляет обновлением и т.д.

    форма обновляется после обновления содержимого одного из ее элементов.

    при обновлении формы перерисовываются и видимые элементы (например ScrollView обрезает по своей границе список видимых элементов). как часто обновляется форма, так же часто и рендерятся элементы

    ОтветитьУдалить
  3. Это все есть в версиях для xna 3.1 и xna 4.0?

    --
    Phantom

    ОтветитьУдалить
  4. только 4.0, мне стоило некоторых сил перейти на эту версию и добиться совместимости с телефоном. о нижних версиях пока не думал, мне не нужно, а интересных предложений не было)

    ОтветитьУдалить
  5. а эта библиотека вообще когда-то в свет появиться, или это закрытая разработка?

    ОтветитьУдалить
  6. до этого момента я работал над самим проектом,
    а не над бизнес планом.
    нужно изучить спрос, рыночный вес,
    условия сотрудничества, компромиссы.
    т.е. подготовиться.

    ОтветитьУдалить
  7. ну что еще могу сказать? наконец-то..)))

    ОтветитьУдалить
  8. вот и высказался невольный свидетель моего творческого процесса)

    ОтветитьУдалить
  9. А темы для WP7 поддерживаются? То есть при смене темы в телефоне, меняется оформление контролов?

    ОтветитьУдалить
  10. что то мне говорит, что Вы далеки от темы. На пример: когда на PC Вы меняете темы рабочего стола в играх что либо меняется?)

    ОтветитьУдалить
  11. Нет, я от темы не далек. Просто подумал, что вы хотите использовать эти наработки не только для игр.
    Сейчас разрабатываем один проект для WP7. В проекте много графики (2D) и контролов. От XNA отказались как раз из-за отсутствия стандартных контролов.

    ОтветитьУдалить
  12. тогда так - реализация данного функционала полностью ложиться на плечи пользователя. и под все интересующие темы нужно создавать собственные наборы стилей.

    ОтветитьУдалить
  13. а где можно взять исходный код??

    ОтветитьУдалить
  14. исходный код, хм ... дай подумать ... наверное будет уместна рекомендация - закатать губу обратно))) (сорь не удержался)

    ОтветитьУдалить