800:az eredeti kijelző magassága (amin meg lett írva a progi)
480:az eredeti kijelző szélessége (amin meg lett írva a progi)
double aranyX = XScr/(double)800; //XScr az aktuális kijelző magassága
double aranyY = YScr/(double)480; //YScr az aktuális kijelző szélessége
for (int i = 0; i < 800; i++)
{
xT[i] = (int)((double)i * aranyX);
}
for (int i = 0; i < 480; i++)
{
yT[i] = (int)((double)i * aranyY);
}
Ez után az eredti X koordináta helyére elég ennyit írni pl: x=200 ---> xT[200]
Egy xna játékot fejleszek windows phone 8-ra. Lassan kész is csak szeretném ha nem csak a 800x480-as kijelzős telefonokon nézne ki úgy ahogy megterveztem hanem más felbontásokon is.
A favágó módszer ugye, hogy minden kijelző típusra külön tesztelem és mindenhol beállítom a megfelelő x,y koordinátákat de szeretném ezt meg gyorsítani ha lehet.
Az érdekelne nem-e tud valaki valami jó módszert erre problémára?
Gondoltam ilyenre hogy:
x:200 y:100 ---> 200/800=0,250 ; 100/480=0,208
és akkor a másik kijelzőn pl:
1280x768 --->
x= 1280*0,250=320 ; y=768*0,208=160 (kerekítve persze)
Csak szerintem ez túl idő igényes futás időbe!
Esetleg valami relatív vagy arányos koordináta megadási módszer, ilyesmik?