Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2011, 23:20   #1
Pyton
Пользователь
 
Аватар для Pyton
 
Регистрация: 18.12.2008
Сообщений: 47
По умолчанию Многооконность в играх

В данный момент работаю над 2D пошаговой стратегией, в которой необходимо большое количество окошек интерфейса: миникарта, опции, подсказки, хар-ки сушеств, инвентарь и т.д.

Самый простой способ для делфи - использование n-го кол-ва форм( то есть Windows Forms) с загруженными на них битовыми образами(то есть миникарта,портрет персонажа...) для всех вышеописанных окошек;
Но насколько быстро они будут отрисовываться?

Как я понимаю,немного быстрее будет использование 1-2 форм с загрузкой и прорисовкой на них в разных местах для каждого игрового события битовых(или другого формат графики) образов ?

Я считаю,что ещё более быстрый вариант - создавать n-ое количество окошек средствами Винапи и выводить графику на их контекст (опять же встает вопрос - насколько окошки винапи будут быстрее виндовс формс?
юнит форм добавляет + ~350 кб к исходнику,а по скорости непонятно)

Какие предположения и идеи?

Последний раз редактировалось Pyton; 02.06.2011 в 23:45.
Pyton вне форума Ответить с цитированием
Старый 03.06.2011, 00:09   #2
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

В своё время Я для подобных целей использовал контейнер panel - удобно и достаточно быстро.
Виталий Желтяков вне форума Ответить с цитированием
Старый 03.06.2011, 11:44   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Лично мне ближе вариант с единственным окном. На это одно-единственное windows-окошко происходит только вывод графической информации, а сборка кадра происходит где-то во внутреннем буфере.
Конечно, при таком подходе придется создавать свой собственный класс окон, отображение которого будет происходить в буфер, и реакцией его на действия пользователя придется целиком и полностью реализовывать самому (нажатие на кнопки, выделение отдельных элементов, операции с ними, закрытие окна), но это позволяет избавиться от лишних windows-окошек, сокращает по идее расходы и не ограничивает нас в дизайне этих окон. Так что в целом, на мой взгляд, при таком подходе игра должна выглядеть гораздо симпатичнее и больше похожей на профессиональный продукт.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 03.06.2011, 11:51   #4
RomiKon
Форумчанин
 
Регистрация: 11.04.2010
Сообщений: 143
По умолчанию

Я в своё время писал собственный интерфейс использующий для отрисовки OpenGL. Там и кнопочки и эдиты и окошки и скроллбары реализовал примерно дня за четыре(учитывая что я делал это впервые), если интересно могу порытся в винчестере и отыскать исходник
RomiKon вне форума Ответить с цитированием
Старый 12.06.2011, 17:46   #5
Pyton
Пользователь
 
Аватар для Pyton
 
Регистрация: 18.12.2008
Сообщений: 47
По умолчанию

Как вывести простой 2D-текст в окне сверху,если я рисую на контексте, используя OpenGL(то есть hDC и hGLRC) ? Вывести надо так,чтобы текст не мигал и не перезатирался OpenGLем.

Пробовал обычный TextOut(), но он мигает и его задний фон - белый

Последний раз редактировалось Pyton; 12.06.2011 в 18:55.
Pyton вне форума Ответить с цитированием
Старый 12.06.2011, 18:50   #6
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Скоро за "опенжль", "опенгля", "огл" и пр. безобразие вместо OpenGL (по которому можно не только опознать библиотеку, но и найти информацию о ней в поисковых системах) буду давать штраф!
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 12.06.2011, 18:58   #7
Pyton
Пользователь
 
Аватар для Pyton
 
Регистрация: 18.12.2008
Сообщений: 47
По умолчанию

Извиняюсь) Исправил.

Beermonza, подскажите пожалуйста, как правильно выводить текст в моем примере?

Последний раз редактировалось Pyton; 12.06.2011 в 19:03.
Pyton вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
о играх ололошенько Компьютерное железо 21 13.10.2010 09:50
Скриптинг в играх Hidan Общие вопросы C/C++ 3 31.08.2010 20:05
Физика в играх Andrew101095 Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 25.07.2010 17:51
Эмуляция в играх magros Общие вопросы .NET 6 21.06.2010 07:06
Анимация в играх frai Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 25.11.2007 14:28