Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.051 c
1-1096356152
Rule
2004-09-28 11:22
2004.10.10
Подскажиет где торомжу, поему возникает ошибка Object or Class


4-1093965391
Arnold
2004-08-31 19:16
2004.10.10
Известен Handle окна, как узнать какой его тип (TForm,TButton..)


1-1096062326
Mishenka
2004-09-25 01:45
2004.10.10
OnClick в StatusBar


4-1094129994
Lola
2004-09-02 16:59
2004.10.10
Контроль за отправленной и входящей почтой.


14-1095795066
Opilki_Inside
2004-09-21 23:31
2004.10.10
Кто-нибудь сталкивался с Qt-library?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский