Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.10;
Скачать: CL | DM;

Вниз

Смена разрешения на лету.   Найти похожие ветки 

 
MrAngel   (2004-06-03 23:52) [0]

Сначала думал, что через IDirect3DDevice9::Reset, но не тут то было. Может кто подскажет, как это дело реализуется ?


 
NailMan ©   (2004-06-04 15:52) [1]

Мочишь девайс, переделываешь презент_параметерс и заново создаешь, а заодно и все ресурсы(текстуры, буферы и т.д.)  

:-)

---
WBR, NailMan aka 2:5020/3337.13


 
A22   (2004-06-04 18:25) [2]

если будешь делать в VC++ с использованием их классов, то там имеется функция OnChangeDevice. Кажись, так ее звать


 
MrAngel   (2004-06-04 19:30) [3]

2 NailMan ©  - да, есть такой вариант. Из мануала мелко софта вычитал. Неужели ничего менее маштабного нет? :-)

2 A22 - с использованием их классов ? Речь идёт про Frame Work ?


 
NailMan ©   (2004-06-04 19:38) [4]

MrAngel
К сожалению нет. Такова конструкция Direct3D.

---
WBR, NailMan aka 2:5020/3337.13


 
NailMan ©   (2004-06-04 19:38) [5]

MrAngel
К сожалению нет. Такова конструкция Direct3D.

---
WBR, NailMan aka 2:5020/3337.13


 
MrAngel   (2004-06-05 00:19) [6]

Нуу - тогда легче закрыть приложение и открыть его с другими настройками :-)


 
Vertex   (2004-06-07 16:07) [7]

2 MrAngel - неа это не FrameWork это Direct3D SDK


 
NailMan ©   (2004-06-07 18:38) [8]

Все уже давно перешли на внешние настройки параметров дисплея. Так что делай внешнюю DLL с настройками и не парься. ну незачем юзверю в процессе игры разрешение/битность менять.

---
WBR, NailMan aka 2:5020/3337.13


 
MrAngel   (2004-06-09 02:26) [9]

2 Vertex  ok посмотрю.

2 NailMan - можно по подробнее?


 
NailMan ©   (2004-06-09 11:23) [10]

MrAngel
Ну как делаешь DLL-ку, в ней делаешь форму(ы). Соответственно первая показываемая форма это "загрузчик" с предменю:
[ЗАПУСК ИГРЫ]
[НАСТРОЙКИ]
[ВЫХОД]

на фон формы делаем какой-нить скриншотик на тему нашей игрушки  :-)

Далее вызов это формы делаем так:

Function ShowLoader:Integer;
Var Form:TLoaderForm;
begin
 Form:=TLoaderForm.create(nil);
 try
  Result:=Form.Execute;
 finally
 Form.Free;
 end;
end;


А метод Execute выгляит так:

Function TLoaderForm.Execute:integer;
begin
ECode:=0;
Showmodal;
Result:=ECode;
end;


Ну в этой форме на кнопочки вешаем следующее:
procedure TLoaderForm.BitBtn1Click(Sender: TObject);
begin
ECode:=1;
Close;
end;

Юзер нажал запуск и возвращается значение 1.

procedure TLoaderForm.BitBtn2Click(Sender: TObject);
begin
ShowMainOptions;
ECode:=1;
end;

Юзер нажал кнопку "Настройки" и вызываем показ формы настроек(типа процедура аналогичная по контенту ShowLoader.

procedure TLoaderForm.BitBtn3Click(Sender: TObject);
begin
ECode:=2;
Close;
end;

Типа юзер нажал выхо(раздумал наверно играть).

Далее в DLL-ке экспортируешь только ShowLoader и в программу импортируешь Function ShowLoader:Integer; stdcall; external "наша_ДЛЛ-ка.dll";

И в начале программы делаешь так
If ShowLoader=2 then Exit;
Т.е. если юзер нажал выход, то выходим иначе ничего не делаем и программа выполняется как и было задумано.

А вот в самой форме настроек надо сделать комбобоксы всякие с разрешениями и обязательно все это сохраняем в файл настроек, которые уже самой игрой будут считываться и на основе них и создавать девайс.
В целом можно вообщ все настройки вынески на внешнюю форму, чтобы не геморриться с GUI. Все таки на нормальном VCL проще сделать подробные настройки нежели на ограниченном игровом GUI. Хотя как знать - часть настроек не связанных с пересозданием девайса можно и в самой игре реализовать, хотя бы в реализации консоли.

---
WBR, NailMan aka 2:5020/3337.13


 
MrAngel   (2004-06-09 19:10) [11]

А - ясно я понял идею. Думаю так и буду делать.


 
MrAngel   (2004-06-09 19:11) [12]

Thanks.



Страницы: 1 вся ветка

Текущий архив: 2004.10.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.057 c
1-1096031373
AdmeraL
2004-09-24 17:09
2004.10.10
TRegIniFile


8-1090344059
Игорь Н.
2004-07-20 21:20
2004.10.10
Вставка изображения на форму


1-1095875344
hgd
2004-09-22 21:49
2004.10.10
Ктог знает, как можно картинку формата png


3-1094815391
Koala
2004-09-10 15:23
2004.10.10
Помогите разобраться


1-1095752480
Turbid
2004-09-21 11:41
2004.10.10
UTF-8?