Каков лучший способ рисовать скины "кнопки" в видеоигре? - PullRequest
0 голосов
/ 10 августа 2008

Я ищу идеи о том, как нарисовать скины "кнопки" в игровом приложении. Если я использую фиксированное спрайтовское не векторное изображение для фона кнопки, я не могу легко изменить размер кнопки. Если я пишу код для рисования кнопки с изменяемым размером (например, рисуются кнопки Windows), то программист должен вмешаться - и это усложняет создание скинов. Другой вариант - разбить кнопку на 9 изображений меньшего размера (3х3) и растянуть их - как будто закругленные углы сделаны в HTML.

Есть ли другой "более легкий" способ? Какой лучший подход?

Ответы [ 3 ]

2 голосов
/ 28 августа 2008

Если вы действительно хотите сделать это, способ сделать это с помощью текстурных координат. Как и в случае создания растягиваемого дизайна кнопки / панели в HTML с таблицей, вы просто определяете UV-координаты для углов, верхней растягиваемой области, нижней растягиваемой области, боковых растягиваемых областей, а затем середины.

Пример того, как это реализовано в движке XNA (хотя это движок с закрытым исходным кодом), смотрите здесь: http://www.flatredball.com/frb/docs/index.php?title=SpriteFrame_Tutorial

0 голосов
/ 24 июня 2009

Это должно быть возможно с шейдерами. Вам, вероятно, придется выполнить поиск texel, но это сократит количество треугольников в сложном интерфейсе.

0 голосов
/ 10 августа 2008

Да. Я работаю над редактором. Это XAML-подобный язык (или OpenLaszlo-подобный, если хотите) для XNA. Таким образом, размер кнопок может быть изменен редактором. Размер кнопок также можно изменить с помощью таблицы стилей.

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

...