Zdravím,
Chci se zeptat, jak je možné použít vysoká rozlišení ve WP8?
V iPhone SDK jsou prý Retina obrázky extrémě jednoduché, stačí za název obrázku přidat @2x a o zbytek se nestarat. Je to možné podobně udělat i u WP8?
Hledal jsem na různých fórech, ale lepší radu než použít;
PreferredBackBufferWidth = 720;
PreferredBackBufferHeight = 480;
Pro 16:9 jsem nenašel, snad jen použít MonoGame, na který bych ale celkem nerad přecházel a taky jsem na něj zatím nenašel návod na ty rozlišení.
Už opravdu nevím, jako První mě samozřejmě napadlo detekovat rozlišení a podle něj nastavit PrefferedBackBuffer, jenže pokud jej nastavím na 1280x720, nebo 768, zůstane 800x400...
Děkuji.
Odpověď:
Ahoj, tohle je trochu složitější...
Děláš to jako hru v XNA, s SDK verze 7.1? Tam se k vyššímu rozlišení nijak nedostaneš (pokud se nic nezměnilo). Hra běží jen v určitém režimu WP7 kompatibility. Ať nastavíš PreferredBackBufferWidth/Height jakkoliv, hra poběží vždy v rozlišení 800x480 (tj. např. na HTC 8X bude mít pokaždé černé pruhy nahoře a dole). Bohužel Microsoft XNA Framework prakticky odepsal, nechce ho už podporovat ani na WP8, ani na WinRT, vývojový tým XNA už neexistuje... XNA projekt z SDK 7.1 nejde upgradovat na SDK pro WP8.
Pokud chceš, aby ti hra běžela v nativním rozlišení, asi jediným řešením bude opravdu MonoGame


Ohledně automatického načítání obrázků v menším / nebo větším rozlišení... Třeba C#/XAML (Silverlight) to má řešené pěkně, tam se to děje podobně, jako na iOS nebo Androidu (vybere se automaticky správná velikost). XNA a MonoGame takovouhle podporu nemá, musí si to vývojář řešit sám. Ale jak popisuji v té přednášce z MS Festu, stejně většinou např. pro pozadí chceme použít jen jeden obrázek (který potom roztáhneme), pro některou grafiku budeme mít připraveno víc obrázků (a víc souborů typu SpriteFont apod.). Je to dost individuální.
Snad jsem pomohl, kdyžtak se ještě ptej
