Войти
ПрограммированиеФорумГрафика

Xaml в геймдеве (2 стр)

Страницы: 1 2 3 4 Следующая »
#15
23:40, 5 июня 2021

Scaleform gfx. Шипнул на нем 5 игор. Лучше нет.


#16
0:33, 6 июня 2021

MrShoor
>Гуй надо рисовать мышкой в редакторе, а не писать в блокноте.
Ну нафиг, это уровень детского сада, по взрослому гуй лйэаутами расставляют.

#17
0:38, 6 июня 2021

nes
Скрины рисовать и собирать во флеше. А уже слои и транзишны можно руками сделать.

#18
1:06, 6 июня 2021

nes
> по взрослому гуй лйэаутами расставляют.
Что понимаешь под расставлением лейаутов? Ручками xml писать?

#19
6:10, 6 июня 2021

MrShoor
> как делать не надо

но делают. Им ваши визуальные редакторы нафиг не нужны.

>Полет нормальный
"ни пробовал, пробовать не буду, я так знаю"

>А зачем тебе читать этот результат как текст?

Текст богаче. А с поддержкой IDE превосходит вижуал тулы. Это примерно как код начать в дизайнере мышкой: TreeView делаем ,выбираем типы нод мышкой (if,for). Далеко ушли такие редакторы? Много ты там кода напишешь мышкой?

Еще причина - декомпозиция на стили и повторное использование. В вижуале декомпозиция похожа на инкапсуляцию, и другого способа там нет: делаем детальки, из деталек лепим крупные детальки. Веб первым испытал концепцию стилей (CSS). В Xaml другая система стилей но не суть. И в присвоении стиля не нужен вижуал редактор. Из комбинации стилей рождается новый контент. Хорошей разметкой считается  отсутствие присвоений width=33, все это должно быть в стилях.

Еще причина - более умное сложное поведение геометрического движка. Автокомпановки и выравнивания всякие. StackPanel-и , которые выравнивают контент сами, не надо там ручками положения указывать. Причина юлозить мышкой на Canvas отпадает, чтобы расставить контент точно.

Да, сам по себе формат разметки мало полезен, если нет под него нормальной ide. В блокноте, с хорошим форматом, тоже не уедешь.

#20
7:12, 6 июня 2021

slepov
> но делают.
Да, а еще на яваскрипте много чего пишут. Но это не значит, что это удобно

> Им ваши визуальные редакторы нафиг не нужны.
Не сомневаюсь

> "ни пробовал, пробовать не буду, я так знаю"
м? Так а ты попробуй

> Текст богаче. А с поддержкой IDE превосходит вижуал тулы.
Ахах. Прям берешь такой, открываешь xaml в notepad++, и сразу в голове себе представляешь как выглядит UI ? Не смеши. Без визуализации работать с xaml - вообще печаль дикая.

> Это примерно как код начать в дизайнере мышкой: TreeView делаем ,выбираем типы
> нод мышкой (if,for). Далеко ушли такие редакторы? Много ты там кода напишешь
> мышкой?
Это отличный пример ты привел. Вот ровно так же, как писать визуальным программированием - дичь, так и писать графический ui текстом - такая же дичь. Графику надо редактировать в графических тулах, а не в блокноте.

> Еще причина - декомпозиция на стили и повторное использование.
Вот только декомпозиция на стили и повторное исопльзование никак не связано с тем, чтобы долбиться в текст. Все это можно было бы делать и в визуальном редакторе.

#21
12:34, 6 июня 2021

MrShoor
>Что понимаешь под расставлением лейаутов? Ручками xml писать?
Оно самое, зато не нужно надрачивать мышкой пикселы, пытаясь все выровнять как нужно
и гарантированно ничего не разъедется, если окно вдруг поменяет свои размеры.

#22
13:23, 6 июня 2021

nes

В мало-мальски серьёзных мышкоредакторах есть такие понятия как grid, guides и snap.
Чтобы ничего "не съехало" есть выравнивание и контролы-контейнеры.

#23
19:39, 6 июня 2021

MrShoor
> м? Так а ты попробуй

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

>Прям берешь такой, открываешь xaml в notepad++, и сразу в голове себе представляешь

во первых notepad++ не тянет на IDE. Не надо в голове ничего представлять. Строчишь разметку, видишь результат, моментально в реалтайме.

>Графику надо редактировать в графических тулах, а не в блокноте.

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

>чтобы долбиться в текст. Все это можно было бы делать и в визуальном редакторе.

можно. кнопочки, переходы в диалоги или treeView, ок/cancel. Но вот беда, ты так сваливаешся в ту же проблему что и код мышкой одной набирать. Вместо просто текста style=МойСтиль ты будешь по диаложкам скакать, с любимой мышкой. Еще раз говорю, речь не о блокноте, а нормальной среде с интелисенсами, раскрасками, рендерингами на изменение. И под xaml такая среда есть. И под Qml она есть, и под html.

#24
19:47, 6 июня 2021

rcsim
Такое себе, лэйауты быстрее и проще, по крайней мере если сравнивать WinForms с WPF.

#25
20:51, 6 июня 2021

slepov
> А вот ты пересядь уже хоть раз с дельфей своих и расширь горизонты.
WinForms подойдет?

> У вас там должны кстати уже на xaml гуй строчить, попроси коллегу, просветит.
Да, у нас много UI на xaml. При этом так же есть куча UI не на xaml. И глядя на всё это могу сказать, что никакого xaml не дает. А иногда даже наоборот вставляет палки в колёса.

> Ессно нужна среда с поддержкой разметки, чтобы рендерить сразу изменения.
Так а если всё равно среда нужна, то нахрена собственно xaml ? Почему атрибуты элемента нельзя просто вывести в панельку?

> Вместо просто текста style=МойСтиль ты будешь по диаложкам скакать, с любимой
> мышкой.
В каком-нибудь комбо-боксе выбрать "МойСтиль" - это скакать по диаложкам? Ок, значит в твоём случае скакать надо постоянно между графическим представлением и голым xml.

p.s. И я не говорю, что WinForms или VCL - годная вещь. Они тоже говно (но уже по другим причинам). Я говорю, что не нужен текстовый человекочитаемый формат для UI. Верстальщиков, которые набивают что-то там в IDE - быть не должно. Должен быть человек, который UI нарисует, и должен быть человек, который подключит этот UI в пару движений к рабочему проекту. Сейчас же, чтобы UI оказался в рабочем проекте - нужна промежуточная профессия: верстальщик.

#26
22:32, 6 июня 2021

Вообще, декларативный гуй - это давняя голубая и несбыточная мечта на тему "не хотим писать Button buttOk; dialog.AddChild(ok); buttOk.SetRect(...); buttOk.SetText(...); ... BusinessLogic(buttOk); - вот бы так, чтобы надо было писать только InputSignal sigOk; BusinessLogic(sigOk);, а гуй как-нибудь бы сам бы сгенерировался (или, на худой конец, на дизигнера можно было спихнуть)." И все эти мфц/вцл, атл, *формс, *мл, реакто-ангуляр и прочее - попытки воплощения данной мечты. По тому, что данные технологии устойчиво плодятся, нетрудно заключить, что решения ко всеобщему удовлетворению достичь пока не получилось.

По теме темы: хамл в играх - гов плохая идея. Говорю как человек, успевший написать пару-другую игр и 1 неигровое приложение под силверлайт на виндовсфоне. Да-да, уже было в индустрии такое явление в незапамятные времена лет 15 назад - убийца ойфона на специальном вантузе, а на нём силверфонарь, а на силверфонаре - WPF, экспрешен бленд и хамл. (Там ещё была хна, но сочли, что она слишком низкуровневая, при наличии силвер-то фонаря, и решили сделать на нём. И сделали.) Контора дяди Билла возлагала на проэкт большие надежды, всячески его форсила и вбухала прорву ресурсов. Несмотря на это, проэкт провалился с треском. Конечно, не только и не столько хамл был тому виной. Однако факт, что он не привнёс в мир разработки удобств и экономической эффективности, которые перевесили бы в глазах разработчиков всех остальных изъянов платформы.

#27
(Правка: 23:04) 22:47, 6 июня 2021

Помоему перегнули палку: https://www.noesisengine.com/xamltoy/d17807def7bb2f6ad3aa46f33d1fb49e
Слишком тяжело читаются всякие (не говоря о том что они засоряют XAML файл):

                  <ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextElement.Foreground).(SolidColorBrush.Color)" Storyboard.TargetName="ContentText">
                    <EasingColorKeyFrame KeyTime="0" Value="#E5242B33"/>
                    <EasingColorKeyFrame KeyTime="0:0:0.2" Value="#E5242B33"/>
                    <EasingColorKeyFrame KeyTime="0:0:0.2" Value="#00242B33"/>
                    <EasingColorKeyFrame KeyTime="0:0:0.3" Value="#00242B33"/>
                    <EasingColorKeyFrame KeyTime="0:0:0.3" Value="#E5242B33"/>
                    <EasingColorKeyFrame KeyTime="0:0:0.8" Value="#E5242B33"/>
                    <EasingColorKeyFrame KeyTime="0:0:0.8" Value="#00242B33"/>
                    <EasingColorKeyFrame KeyTime="0:0:0.85" Value="#00242B33"/>
                    <EasingColorKeyFrame KeyTime="0:0:0.85" Value="#E5242B33"/>
                  </ColorAnimationUsingKeyFrames>
Я так понимаю это анимация цвета для TextElement.Foreground но зачем это тянуть в XAML? Анимации должны быть в коде или в каком то другом формате.

Странные декларации типа:

            <Grid.RowDefinitions>
              <RowDefinition/>
              <RowDefinition/>
              <RowDefinition/>
              <RowDefinition/>
            </Grid.RowDefinitions>
вместо:
            <Grid.RowDefinitions RowCount ="4"/>
Ну и сам файл видно что содержит много избыточной информации.

В общем видно что хотели как лучше, а получилось как всегда.
P.S. Иерархия классов тоже довольно странная, они бы для начала посмотрели бы как это было сделано в VCL / WinForms.

#28
6:51, 7 июня 2021

MrShoor
>В каком-нибудь комбо-боксе выбрать "МойСтиль" - это скакать по диаложкам?
да. клик на комбарь, клик выбора - долго, и все мышой. В текст редактор начал писать, интелесенс подсказал варианты, энтер, готово. В превью панели обновился рендер.


> а если всё равно среда нужна, то нахрена собственно xaml

Понимаю куда ты клонишь. Конечно дело не в формате текста. Дело в редакторе. В том как в нем работать. А работать я хочу также быстро как с текстом. Я хочу
- быстро копипастить куски лайаута
- временно оставлять структуру не валидной, в процессе правок
- diff в версионировании
- интелисенсы или чтото вроде
- места использования

Если это все суммировать то получишь что нет ничего на роль текста с поддержкой IDE. Есть кстати понятие проекционный редактор - редактор который имитирует текстовый но не является таковым. Наверно если постоянно улучшать визуально-мышечный редактор то в итоге придешь к такому.

>Сейчас же, чтобы UI оказался в рабочем проекте - нужна промежуточная профессия: верстальщик.

Верстальщик - это результат не образованности дизайнера с одной стороны, хреновости тулов с другой. Xaml и появился как клей между дизайнерами и разработчиками. В том же вебе, кстати, хороший веб дизайнер владеет html. Html не идеален, оброс гавном, но этот подход работает и доказал свою эффективность. А визуальные редакторы топчатся на месте: пропертигрид+ канвас+ мышь.

#29
7:01, 7 июня 2021

gamedevfor
> <Grid.RowDefinitions RowCount ="4"/>

потому что каждый RowDefinition имеет собственный набор пропертей. А раздувать формат дополнительными конструкциями тоже хреново.

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумГрафика