| Zobrazit předchozí téma :: Zobrazit následující téma |
| Autor |
Zpráva |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 29. červenec 2009, 13:53:17 Předmět: Problém s menu |
|
|
Zdarec borci,
mám takovej problém mám toto menu,
a když měním rozlišení tak se mi to menu posunuje, to není ten problém ale když mám rozlišení 1024x768 a změním ho na 800x600 tak musím změnit i souřadnice umístění textu a pomyslné collisionboxy okolo nich. Jak to řešíte vi? Musím mít pro každé rozlišení podmínku s jinýmy souřadnicemi ? Nebo jak na to? Doufám že se ten text dá pochopit a díky za odpověd.
Dík Játro |
|
| Návrat nahoru |
|
 |
Quiark

Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 29. červenec 2009, 14:04:18 Předmět: |
|
|
Mi to řešíme třeba takto:
Můžeš pozici těch textů vyjádřit v procentech rozměru obrazovky a při kreslení si vypočítat absolutní pozici podle aktuálního rozlišení. Potom by například pozice uprostřed obrazovky byla 50, 50.
Tohle ve většině případů stačí, pokud bys ale měl třeba nějaký seznam nebo tak a chtěl bys, aby se při větším rozlišení na obrazovku vešlo víc prvků, už to bude chtít něco chytřejšího. _________________ Mám strach |
|
| Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 29. červenec 2009, 14:29:01 Předmět: |
|
|
Ok, tuším co máš namysli ale jak to udělat s temi čtverci okolo kvuli kurzoru?
proste ty osy x,y pomoci kterych testuju jestli sem na to klik nebo ne? |
|
| Návrat nahoru |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 29. červenec 2009, 15:00:08 Předmět: |
|
|
Můj princip je stejný, akorát nepoužívám procenta, ale výchozí rozlišení. takže hra je třeba dělaná pro 800x600, a kdyz zapnu 1024x768, tak probíhá ve vykreslování přepočet, ale interně pracuje s grafikou a "collision boxy" stále v těch 800x600. V případě myši pak samozřejmě musíš stejným způsobem přepočítat její pozici na interní rozlišení tvé hry. _________________ Award-winning game developer |
|
| Návrat nahoru |
|
 |
Quiark

Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 29. červenec 2009, 15:02:36 Předmět: |
|
|
No vždycky si musíš ty procenta převést na skutečné souřadnice na obrazovce a ty potom použít jednak na kreslení, druhak na porovnávání s pozicí kurzoru.
Co se týče velikosti těch tlačítek, tak tu můžeš zadat buď taky v procentech nebo v pixelech. V prvním případě budou na obrazovce zabírat vždy stejné místo, nezávisle na rozlišení, ve druhém případě budou mít pořád stejnou velikost v pixelech, takže při větším rozlišení budou vypadat menší. _________________ Mám strach |
|
| Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 29. červenec 2009, 15:27:28 Předmět: |
|
|
Dík pánové docela mě to nasměrovalo jenom to dělam nějakyho pul roku tak se na mě nezlobte jestli nemáte nějakej materiál od čeho se odpíchnout?
Jenom vytrhnutyho kus kodu ja si to nejak přeberu  |
|
| Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 29. červenec 2009, 17:41:32 Předmět: |
|
|
Já bych si to menu napozicoval jednoduše: zavedl bych si parametr, ve kterém rohu je počátek souřadnic (v tomto případě vlevo dole) a měl bych to vždy relativně k němu.
Procenta fungují, dokonce jde i velikost vyjádřit v procentech, ale musíš pak navíc řešit, jak pěkně vyhladit obrázky, když jim takhle měníš velikost. Někdy to není pěkný na pohled, rozmazává je to. _________________ AMD Open Source Graphics Driver Developer |
|
| Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 29. červenec 2009, 19:06:44 Předmět: |
|
|
ok, asi to udelam jak rika eosie jinak nejsou to obrazky ale je to normalni freetype font  |
|
| Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 29. červenec 2009, 19:28:58 Předmět: |
|
|
Jo, u fontů je to ještě horší, pokud obsahují subpixel filtrování. Tam se to pak změnou velikosti nebo jakýmkoliv filtrem zkurví úplně. _________________ AMD Open Source Graphics Driver Developer |
|
| Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 29. červenec 2009, 19:33:20 Předmět: |
|
|
| no hral sem si si tim a pri glScalef(,,,); kdyz ho zmensim tak vypada normalne a kdyz se zvetsi tak je velkej a zaroven se okolo nej rozmaze to co by bylo u TT normalne strapaty takze to neni tak strasny. |
|
| Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 29. červenec 2009, 19:36:09 Předmět: |
|
|
jinak http://red-assault.7u.cz/ (na ty stranky se raci nedivejte sou tezce nedotazeny ) |
|
| Návrat nahoru |
|
 |
Quiark

Založen: 29. 07. 2007 Příspěvky: 816 Bydliště: Chlívek 401
|
Zaslal: 29. červenec 2009, 19:56:39 Předmět: |
|
|
ehm... na co je pak ten odkaz?
eo: Freetype fonty jsou asi vektorový, takže zvětšování/zmenšování by mělo v klidu žejo.
jatro.m: Kus kódu nemáme... ale tohle není nic těžkého, pokud jsi to menu naprogramoval aspoň takhle, tak tuhle změnu zvládneš sám. _________________ Mám strach |
|
| Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 29. červenec 2009, 20:01:11 Předmět: |
|
|
no prece pro srandu ok du se do toho pustit |
|
| Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 29. červenec 2009, 20:10:35 Předmět: |
|
|
tak tady nad tim ted premyslim a to co mi poradil eosie je myslim to stejny co ja delam
| citace: |
if(sWidth == 1024 && sHeight == 768){
NewGame[0] = 65;
NewGame[1] = 455;
NewGameColl[0] = 154;
NewGameColl[1] = 475;
MPGame[0] = 84;
MPGame[1] = 496;
MPGameColl[0] = 160;
MPGameColl[1] = 509;
Options[0] = 104;
Options[1] = 535;
OptionsColl[0] = 170;
OptionsColl[1] = 551;
Exit[0] = 125;
Exit[1] = 575;
ExitColl[0] = 210;
ExitColl[1] = 590;
MenuText[0] = 62;
MenuText[1] = 300;
}
NewGame[0] = 65;zacatek x
NewGame[1] = 455; zacatek y
a
NewGameColl[0] = 154; konec x
NewGameColl[1] = 475; konec y
|
takze si to muzu rovnou dodefinovat ze? Porad mi nejak nejde do hlavy s tou absolutni hodnotou a tema procentama dneska su natvrdlej  |
|
| Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 29. červenec 2009, 20:42:50 Předmět: |
|
|
| Quiark napsal: |
| eo: Freetype fonty jsou asi vektorový, takže zvětšování/zmenšování by mělo v klidu žejo. |
Jo, jsou vektorový (nebo křivkový), ale neviděl jsem ještě implementaci v OpenGL, která by používala přímo ty křívky nebo jejich aproximaci pomocí vertexů (free knihovny na to neexistují snad ani). Většinou se text přímo při sázení rasterizuje do bitmapy pro pevnou velikost (obvykle na CPU) se subpixel filtrem (využívá zobrazovací vlastnosti displaye), která se pak na GPU kreslí jako textura s ideálním mapováním 1 texel -> 1 pixel. Samozřejmě můžeš pro jinou velikost rasterizovat celý text znovu, ale to už není moc real-time. _________________ AMD Open Source Graphics Driver Developer |
|
| Návrat nahoru |
|
 |
|