![]() |
GUI поверх Stage3D, выбор метода
Доброго всем времени суток
Решил поосновательнее подойти к новому игровому проекту на Stage3D, и начать с небольшого опроса в комьюнити. Как считаете, какой метод вывода двухмерного GUI поверх контента, который отрисовывается при помощи Stage3D будет лучше(по скорости отрисовки, удобству кодинга, количеству фич)? Базовые варианты: реализовать на Stage3D(Feathers, либо свой велосипед, что нежелательно), либо при помощи какой-то их сущетсвующих библиотек. Проект ориентирован на web, Android, iOS. Приветствуются обоснования, примеры из собственного опыта, ссылки на вменяемые ресурсы. |
Перья
|
Да, это кажется логичным, если бы не пару "но":
1. Пример ComponentsExplorer показывает 90 DC на экране с примером List(если показывать панель навигации и экран примера одновременно) - как-то многовато для множества однотипных элементов. Хотя, в данном случае его может оправдать то, что текст выводится при помощи отрисовки в текстуру. В диздоке проекта мы как раз наметили один такой "экран" - список рекордов игроков, в нем одновременно выводится список, игровое меню и фон(в такой компоновке оно будет использоватся на планшетах и в браузерной версии). 2. В этом не уверен на 100%, но, как я вижу, в нем нету полноценой поддержки событий мыши(по крайненй мере, для стандратных элементов GUI), из-за чего привычные элементы управления, используемые в браузерной версии будут выглядеть неполноценно, без реакции на MOUSE_OVER/OUT. Впрочем, может там вполне удобная система линковки состояний шкурки к событиям и добавить свои состояния не составит особого труда - пока не смотрел. |
Цитата:
Событий мыши более чем достаточно. Слушаете TouchEvent.TOUCH Вызываете event.getTouch(TouchPhase.HOVER) |
Цитата:
90 — это многовато как-то. |
2Astraport
Я имею в виду возможность "из коробки" прицепить к стнадартной кнопке(или любому другому контролу) элемент шкурки, автоматичские используемый для этих состояний мыши. Все что я видел в демках, заточено на прикосновения. Кроме того, без костыля отследить выход мыши за границы элемента GUI не получится. Конечно, можно и дописать этот функционал, но для этого нужно быть уверенным, что буду использовать Feathers. 2Zebestov Да уж как есть, демка полностью стандартная, вот скриншот: http://d.pr/i/F5uC Я точно не уверен, но если не ошибаюсь, там рендер TextField в текстуру происходит при выводе надписей, хотя есть и растровые шрифты. В Starling какая-то странная штука с батчингом текста, у меня был момент, когда использовались 10 элементов, состоящих из картинки и текста + 2 фоновых изображения - стандратная менюшка выбора уровней. Элементы использовали одну текстуру из атласа для фона, шрифт был в другом атласе. Все это в суме выдавало 24 DC. Скорее всего, пробелма в иерархии(каждый такой элемент - Sprite, содержащий фон-Image и TextField, все 10 Sprite-ов находятся в общем контейнере), в подобных случаях нужно вручную формировать батчи. P.S. Попробовал другую тему(AzureMobile), где вроде используется растровой шрифт - 91 DC. И что интересно, сам экран со списоком вполне укладывается в 24 DC: http://d.pr/i/g68E А ведь все, кроме шрифтов, в одном атласе... |
Второй вопрос снимается, этот функционал в Feathers реализован. Тогда осталось приделать какую-то систему батчинга для текста и выбор вполне очевиден.
|
| Часовой пояс GMT +4, время: 14:00. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.