Italian Il mio primo giochino

Dominex

Active Member
Licensed User
Longtime User
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.

B4X:
Sub AltezzaFont(PercentualeAltezza As Float) As Int
    Return PerYToCurrent(PercentualeAltezza)/Density
End Sub

Tieni presente che io programmo senza usare il Designer.
 

Dominex

Active Member
Licensed User
Longtime User
A questo link potete scaricare un mio progetto su un gioco strategico ambientato nell'universo di Star Trek. Se lo provate su vari dispositivi vi rendete conto di come si adatta alle dimensioni dei vari display, è un altro modo di fare giochi scalabili. Il movimento delle navi non ve lo spiego perché è troppo complicato.

La griglia è una complicata classe dinamica che ho scritto che ha la funzione di essere indipendente per così dire. Al momento non ho tempo per andare avanti in questo progetto. Dal menu scegliete "unisci navi" e poi selezionatele, vedrete un sistema per la selezione di una singola nave in un esagono affollato. Fatemi sapere se vi funziona e se gira bene.
 

ivanomonti

Expert
Licensed User
Longtime User
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.

B4X:
Sub AltezzaFont(PercentualeAltezza As Float) As Int
    Return PerYToCurrent(PercentualeAltezza)/Density
End Sub

Tieni presente che io programmo senza usare il Designer.

In effetti io ho creato del codice che fa questo in percentuale, anche se però a volte il codice non puoi usarlo per tutto, esempio se hai del testo multi riga devi ragionare sul blocco di parole e diventa tutto più complicato, altra cosa che mi piacerebbe imparare bene e scrivere tutto a codice e nulla in design.
 

Vincenzo Fabiano

Member
Licensed User
Longtime User
A questo link potete scaricare un mio progetto su un gioco strategico ambientato nell'universo di Star Trek. Se lo provate su vari dispositivi vi rendete conto di come si adatta alle dimensioni dei vari display, è un altro modo di fare giochi scalabili. Il movimento delle navi non ve lo spiego perché è troppo complicato.

La griglia è una complicata classe dinamica che ho scritto che ha la funzione di essere indipendente per così dire. Al momento non ho tempo per andare avanti in questo progetto. Dal menu scegliete "unisci navi" e poi selezionatele, vedrete un sistema per la selezione di una singola nave in un esagono affollato. Fatemi sapere se vi funziona e se gira bene.


Dominex ho provato il gioco e che dire... è favoloso se pur una beta! Sarei molto interessato alla griglia esagonale, hai mai fatto uscire una libreria che ti permetta di generarla e gestirla in modo agevole? Mi sarebbe immensamente utile per un progetto!
 

LucaMs

Expert
Licensed User
Longtime User
A questo link potete scaricare un mio progetto su un gioco strategico ambientato nell'universo di Star Trek. Se lo provate su vari dispositivi vi rendete conto di come si adatta alle dimensioni dei vari display, è un altro modo di fare giochi scalabili. Il movimento delle navi non ve lo spiego perché è troppo complicato.

La griglia è una complicata classe dinamica che ho scritto che ha la funzione di essere indipendente per così dire. Al momento non ho tempo per andare avanti in questo progetto. Dal menu scegliete "unisci navi" e poi selezionatele, vedrete un sistema per la selezione di una singola nave in un esagono affollato. Fatemi sapere se vi funziona e se gira bene.


Grrrrrr non ci spieghi niente; nel senso che credevo di trovare il sorgente, a quel link :p

Cmq, scaricato, poi lo installerò.

Concordo pienamente sulle percentuali (e purtroppo anche sul designer).

Nel sito, ho posto più volte una domanda, ma nada.

Dato che anche io voglio creare i layout da codice, usando le percentuali, mi era venuta una buona idea, che funziona ma ha un limite:
l'idea è quella di creare il layout col Designer ma poi ricavare appunto le percentuali "eseguendo" il layout e far creare all'app il codice "costruttore" del layout.

Mi sono spiegato malissimo. Cerco il post e metto il link, è meglio, hehehe.
 

Dominex

Active Member
Licensed User
Longtime User
Dominex ho provato il gioco e che dire... è favoloso se pur una beta! Sarei molto interessato alla griglia esagonale, hai mai fatto uscire una libreria che ti permetta di generarla e gestirla in modo agevole? Mi sarebbe immensamente utile per un progetto!
In effetti la griglia è una libreria a sè, e solo che avendo interrotto lo sviluppo non la si può considerare completa, io volevo inoltre riscriverla utilizzando l'accelerazione hardware dei dispositivi, ma manca il tempo.
 

Dominex

Active Member
Licensed User
Longtime User
Grrrrrr non ci spieghi niente; nel senso che credevo di trovare il sorgente, a quel link :p

Cmq, scaricato, poi lo installerò.

Concordo pienamente sulle percentuali (e purtroppo anche sul designer).

Nel sito, ho posto più volte una domanda, ma nada.

Dato che anche io voglio creare i layout da codice, usando le percentuali, mi era venuta una buona idea, che funziona ma ha un limite:
l'idea è quella di creare il layout col Designer ma poi ricavare appunto le percentuali "eseguendo" il layout e far creare all'app il codice "costruttore" del layout.

Mi sono spiegato malissimo. Cerco il post e metto il link, è meglio, hehehe.
Credo di aver capito cosa intendi, però non saprei come indirizzarti perché io il Designer non lo uso proprio mai.
 

luke2012

Well-Known Member
Licensed User
Longtime User
Se ne avete voglia potete provare il mio primo giochino. E' un gioco di abilità/velocità.
Lo potete scaricare dal Google Play.



Complimenti dominex!!!
Quanto ci si mette a fare setup librerie, sviluppo + test di un giochino del genere ?
Considera che io su android non ho mai sviluppato giochi però diciamo che ho una discreta esperienza nello sviluppo.
 

Dominex

Active Member
Licensed User
Longtime User
Complimenti dominex!!!
Quanto ci si mette a fare setup librerie, sviluppo + test di un giochino del genere ?
Considera che io su android non ho mai sviluppato giochi però diciamo che ho una discreta esperienza nello sviluppo.
Grazie!
Il gioco in se l'ho scritto in due settimane, l'ho fatto appena ho acquistato B4A per fare esperienza con il tool. Per completarlo con la grafica e il sonoro attuale e alcuni accorgimenti ci ho messo in tutto un mese.
Per TapDroid non ho scritto nessuna libreria o classe.
 
Last edited:

luke2012

Well-Known Member
Licensed User
Longtime User
Grazie!
Il gioco in se l'ho scritto in due settimane, l'ho fatto appena ho acquistato B4A per fare esperienza con il tool. Per completarlo con la grafica e il sonoro attuale e alcuni accorgimenti ci ho messo in tutto un mese.
Per TapDroid non ho scritto nessuna libreria o classe.

Mi sono piaciute molto anche le schermate introduttive con le istruzioni.
Hai usato un'immagine di sfondo e poi per l'evento click dell'ok un pulsante non visibile?
 

Dominex

Active Member
Licensed User
Longtime User
Mi sono piaciute molto anche le schermate introduttive con le istruzioni.
Hai usato un'immagine di sfondo e poi per l'evento click dell'ok un pulsante non visibile?
Quelle le ho fatte semplicemente con i Panel, ho fatto anche un esempio su come usarle per un utente che me l'aveva chiesto.
Puoi vedere il post a questo link.
 
Top