![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
![]()
Имеется игрушка, в принципе до завершения ее еще далеко но встал уже такой вопрос. В полноэкранном режиме после операции свернуть развернуть больше ни чего не выводится. показывает черный экран. Использую direct3d. На настоящий момент с проблемой справился следующим образом: убиваю все объекты directx: Sprite, texture, Device, D3D; и создаю их заново. Что то мне кажется что должен быть более гуманный метод.
Могу лишь пнуть в нужном направлении (ну или как получится)
|
![]() |
![]() |
![]() |
#2 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]()
Вообще, таким вопросом задавался, но на этом всё и ограничивалось. Но судя по тому, как долго сворачиваются/разворачиваются игры в полноэкранном режиме, там всё связанное с графикой, звуком, сетью, видео уничтожается при сворачивании и заново создаётся при разворачивании.
Ведь нужно как минимум создать/уничтожить корневые объекты (главный объект и девайс). Директ работает по принципу сервера, тогда логично, что созданные в другом сеансе объекты не будут работать. Последний раз редактировалось Carbon; 27.01.2010 в 04:48. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
![]()
ну да при создании текстуры она привязывается к устройству
D3DXCreateTextureFromFileEx( g_device, pchar(Path), 0, 0, D3DX_DEFAULT, 0, D3DFMT_UNKNOWN, D3DPOOL_DEFAULT, D3DX_FILTER_NONE, D3DX_FILTER_NONE, 0, nil, nil, g_texture[free_slot_num] ); так что при уничтожении устройства я так понял уничтожаются и текстуры. Может все таки есть способы что бы восстановить работоспособность без уничтожения объектов. Ведь если взять крупные игры я сомниваюсь что там все ресурсы загружаются вновь.
Могу лишь пнуть в нужном направлении (ну или как получится)
|
![]() |
![]() |
![]() |
#4 | |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]() Цитата:
Я и не говорил, что в играх все ресурсы вновь загружаются. К примеру карты, скрипты, тексты шейдеров, ландшафтные сетки, расположение объектов и связанные с ними данные и т.д. Ведь при разворачивании ты начинаешь игру с того места, где остановился, а не заново. ![]() |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
![]()
Под ресурсами я имел ввиду текстуры.
Кстати у устройства есть функция Reset. Пытаюсь ее вызвать при развернутом экране, она возвращает что все хорошо, но тем не менее на BeginScene() вылетает ошибка в модуле D3DX8.dll
Могу лишь пнуть в нужном направлении (ну или как получится)
|
![]() |
![]() |
![]() |
#6 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]() Код:
Код:
пыщь
Последний раз редактировалось JTG; 28.01.2010 в 23:17. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 26.01.2010
Сообщений: 215
|
![]()
сделал так
Код:
Могу лишь пнуть в нужном направлении (ну или как получится)
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Баг в цикле: программно развернуть - свернуть - восстановить окно | chandrasecar | Общие вопросы Delphi | 23 | 02.12.2011 16:05 |
как свернуть и развернуть форму? | blackstersl | Общие вопросы Delphi | 7 | 25.06.2009 09:20 |
как развернуть окно? | Sergeu | Общие вопросы Delphi | 2 | 19.01.2009 17:02 |
Свернуть, развернуть, восстановить окно | chandrasecar | Win Api | 1 | 15.10.2008 00:13 |
Как развернуть ячейки? | alibaba | Microsoft Office Excel | 2 | 28.11.2007 11:05 |