|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.06.2011, 23:20 | #1 |
Пользователь
Регистрация: 18.12.2008
Сообщений: 47
|
Многооконность в играх
В данный момент работаю над 2D пошаговой стратегией, в которой необходимо большое количество окошек интерфейса: миникарта, опции, подсказки, хар-ки сушеств, инвентарь и т.д.
Самый простой способ для делфи - использование n-го кол-ва форм( то есть Windows Forms) с загруженными на них битовыми образами(то есть миникарта,портрет персонажа...) для всех вышеописанных окошек; Но насколько быстро они будут отрисовываться? Как я понимаю,немного быстрее будет использование 1-2 форм с загрузкой и прорисовкой на них в разных местах для каждого игрового события битовых(или другого формат графики) образов ? Я считаю,что ещё более быстрый вариант - создавать n-ое количество окошек средствами Винапи и выводить графику на их контекст (опять же встает вопрос - насколько окошки винапи будут быстрее виндовс формс? юнит форм добавляет + ~350 кб к исходнику,а по скорости непонятно) Какие предположения и идеи? Последний раз редактировалось Pyton; 02.06.2011 в 23:45. |
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 |
Форумчанин
Регистрация: 11.04.2010
Сообщений: 143
|
Я в своё время писал собственный интерфейс использующий для отрисовки OpenGL. Там и кнопочки и эдиты и окошки и скроллбары реализовал примерно дня за четыре(учитывая что я делал это впервые), если интересно могу порытся в винчестере и отыскать исходник
|
12.06.2011, 17:46 | #5 |
Пользователь
Регистрация: 18.12.2008
Сообщений: 47
|
Как вывести простой 2D-текст в окне сверху,если я рисую на контексте, используя OpenGL(то есть hDC и hGLRC) ? Вывести надо так,чтобы текст не мигал и не перезатирался OpenGLем.
Пробовал обычный TextOut(), но он мигает и его задний фон - белый Последний раз редактировалось Pyton; 12.06.2011 в 18:55. |
12.06.2011, 18:50 | #6 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Скоро за "опенжль", "опенгля", "огл" и пр. безобразие вместо OpenGL (по которому можно не только опознать библиотеку, но и найти информацию о ней в поисковых системах) буду давать штраф!
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
12.06.2011, 18:58 | #7 |
Пользователь
Регистрация: 18.12.2008
Сообщений: 47
|
Извиняюсь) Исправил.
Beermonza, подскажите пожалуйста, как правильно выводить текст в моем примере? Последний раз редактировалось Pyton; 12.06.2011 в 19:03. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
о играх | ололошенько | Компьютерное железо | 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 |