Una delle difficoltà maggiori che si incontrano programmando su android è quella della frammentazione, una moltitudine di display di differenti dimensioni e con differenti risoluzioni.
Per videogiochi come il mio dove tutto deve essere "scalato" in proporzione basta programmare ragionando in percentuale per risolvere il problema. Ogni misura è una percentuale, però l'asse di riferimento deve essere possibimente lo stesso. Ad esempio io ho usato sempre il rapporto in percentuale dell'altezza (Y) perchè il gioco è Landscale. Gli schermi variano molto sulla X quando si è in Landscale, 4:3, 16:9, 16:10, ecc. Un fattire da tenere sempre a mente è la densità che è proprio quella che crea maggiori problemi nello scaling.
Per i font ho fatto una funzione che ragiona in percentuale. In questo modo il carattere dovrebbe essere sempre della stessa proporzione.
Tieni presente che io programmo senza usare il Designer.
Per videogiochi come il mio dove tutto deve essere "scalato" in proporzione basta programmare ragionando in percentuale per risolvere il problema. Ogni misura è una percentuale, però l'asse di riferimento deve essere possibimente lo stesso. Ad esempio io ho usato sempre il rapporto in percentuale dell'altezza (Y) perchè il gioco è Landscale. Gli schermi variano molto sulla X quando si è in Landscale, 4:3, 16:9, 16:10, ecc. Un fattire da tenere sempre a mente è la densità che è proprio quella che crea maggiori problemi nello scaling.
Per i font ho fatto una funzione che ragiona in percentuale. In questo modo il carattere dovrebbe essere sempre della stessa proporzione.
B4X:
Sub AltezzaFont(PercentualeAltezza As Float) As Int
Return PerYToCurrent(PercentualeAltezza)/Density
End Sub
Tieni presente che io programmo senza usare il Designer.