|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Fri Oct 26, 2007 11:03 pm Post subject: parasta loga izmērs pret "popup" loga izmēru |
|
es tā skatos, CreateWindowEx funkcijā nav svarīgi, kas būs 4. - WS_POPUP, WS_SYSMENU, WS_THICKFRAME - loga izmēri būs vienādi, bet loga iekšpuses izmēri diemžēl nesakritīs ar backbuffera izmēriem.. ko lai dara, lai novērstu to slikto efektu?
http://yy.lv/download.php?f=76788
tas ir paraugs 2 logiem
mainīju tikai no WS_POPUP uz WS_SYSMENU, bildes neapstrādāju! _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Oct 26, 2007 11:11 pm Post subject: |
|
es tā skatos, ka esi nepareizajā sadaļā iepostējis. CreateWindowEx funkcijai nav sakara ar DirectX :)
Bet jā tev vien ir taisnība. Loga izmēri netiek norādīti ar client-size izmēru, bet gan absolūtajiem - ietverot visu borderu/captionu/menu un vēl sazin ko.
Tāpēc ir pieejama tāda funkcija kā AdjustWindowRectEx, kurai padodot vēlamos klienta laukuma izmērus (loga "iekšieni") un loga atbilstošo stilu (to pašu, ko gribi padot CreateWindowEx funkcijai), tā izrēķinās absolūtos loga izmērus, kurus tad vajadzēs padot tai CreateWindowEx funkcijai.
Last edited by bubu on Fri Oct 26, 2007 11:15 pm; edited 1 time in total |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Fri Oct 26, 2007 11:15 pm Post subject: |
|
backbufferim gan ir sakars ar DX es strādāju tikai ar DX, citādāk jau jautājums nebūtu te..
bet, paldies, ka pateici, pielikšu funkciju pie sava koda..
btw, veidoju reālu 2d spēli, pagaidām kods ir ļoti kārtīgs un pamati ielikti _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Oct 26, 2007 11:18 pm Post subject: |
|
Nevajag būt smieklīgam. backbufferim nav sakara ar tavu problēmu (loga izmēru izskaitļošanu). Tikpat labi varēji teikt, ka tava problēma ir spēles taisīšana, jo kautkas tai nesanāk, un likt savu topiku "Tavi projekti" sadaļā.
P.S. es tavā vietā būtu pabeidzis kārtīgāk to Payback Hour, un tikai tad sācis taisīt kautko jaunu.. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Fri Oct 26, 2007 11:26 pm Post subject: |
|
bubu wrote: | Tikpat labi varēji teikt, ka tava problēma ir spēles taisīšana, jo kautkas tai nesanāk, un likt savu topiku "Tavi projekti" sadaļā. |
haha, tā gan
bubu wrote: | P.S. es tavā vietā būtu pabeidzis kārtīgāk to Payback Hour, un tikai tad sācis taisīt kautko jaunu.. |
es gaidu komentārus.. nemaz citādāk nezinu, ko varētu uzlabot! gamemakerim pašam nenormāli daudz noleak'ojas atmiņa, nejau no direct3d, vai kā tāda.. vnk no pāriešanas no viena room'a uz otru - tur viss vnk kautkur paliek!
hmm, kautkas nesanāk, es dwStyle iedodu to pašu, ko lieku CreateWindowEx, bet loga izmērs tāpat paliek tieši tāds pats...
Code: | RECT rct = {WndRect.x,WndRect.y,WndRect.width,WndRect.height};
AdjustWindowRectEx(&rct,WS_SYSMENU,false,0);
hWnd = CreateWindowEx(NULL,
"WindowClass",
WndName,
WS_SYSMENU,
rct.left,
rct.top,
rct.right,
rct.bottom,
NULL,
NULL,
hInstance,
NULL); |
P.S. es gan īsti nesaprotu, ko padot dwExStyle'am, bet tas nešķiet svarīgi, jo tāpat nekas nemainās... _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Oct 26, 2007 11:46 pm Post subject: |
|
Izlasi, kas ir jāpadod AdjustWindowRectEx funkcijai pirmajā argumentā (tu padod nepareizu RECT). Un izlasi arī, ko nozīmē 5., 6., 7. un 8. arguments CreateWindowEx funkcijai. Tie tev ir arī nepareizi.
Kā arī izlasi, ko nozīmē WS_SYSMENU stils. Viņu vienu pašu lietot nav pareizi.
snake5 wrote: | P.S. es gan īsti nesaprotu, ko padot dwExStyle'am |
Tas ir aprakstīts Pie CreateWindowEx funkcijas argumentu aprakstu. Visas iespējamās vērtības tur ir uzskaitītas, kā arī pateikts, ko tās dara. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Fri Oct 26, 2007 11:59 pm Post subject: |
|
jeee!
Code: | RECT rct = {WndRect.x,WndRect.y,WndRect.x+WndRect.width,WndRect.y+WndRect.height};
AdjustWindowRectEx(&rct,WS_CAPTION,false,0);
hWnd = CreateWindowEx(0,
"WindowClass",
WndName,
WS_CAPTION,
rct.left,
rct.top,
rct.right-rct.left,
rct.bottom-rct.top,
NULL,
NULL,
hInstance,
NULL); |
_________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
anggelus
Joined: 23 Feb 2005 Posts: 383 Location: Rīga (LV)
|
Posted: Sat Oct 27, 2007 12:03 pm Post subject: |
|
Quote: | gamemakerim pašam nenormāli daudz noleak'ojas atmiņa, nejau no direct3d, vai kā tāda.. vnk no pāriešanas no viena room'a uz otru - tur viss vnk kautkur paliek! |
Nevis kaut kur paliek, bet gan tu neatbrivo atminju. Tas jau man liekas 100x tev ir teikts. _________________ No comprendo lo que dice. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Sat Oct 27, 2007 12:35 pm Post subject: |
|
es gamemakerī nevaru atbrīvot atmiņu! tur nav tādu funkciju!
btw, man noderētu uzzināt, kā tie universālie atmiņas optimizētāji iztīra nelietoto atmiņu no katra procesa? _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|