Vai al commento

Diamaxus

Premium Member
  • Messaggi

    20.060
  • Punti Fedeltà

    100 
  • Iscrizione

  • Ultima visita

  • Feedback

    100%
  • PokéPoints

    PP 71.80

Tutti i messaggi di Diamaxus

  1. C'è quest'artista su twitter che sta facendo i chibi di tutti i pokémon e oggi è toccato a skitty. :3

     

    1. Mostra commenti precedenti  4 altro
    2. evilespeon

      evilespeon

      si troppo teneroooo @Diamaxus

    3. Porygatto

      Porygatto

      Awww, com'è cute :Cuoricini:

      Se oggi toccava a Skitty vuol dire che è lo Skitty Day? Nel caso, buon Skitty Day a tutti! XD

    4. Diamaxus

      Diamaxus

      Verissimo :Cuoricini:

      Non saprei, bene nel caso auguri a tutti XD @Porygatto

  2. Di nulla Snowy
  3. I Tasti Iniziamo a vedere qualcosa di più pratico. Come immagino sapete il GBA ha 10 tasti (A,B, sinistra, destra, su, giù, L, R, Start, Select). Lo stato (premuto, rilasciato) è salvato nei primi 10 bit (da destra) del registro di input REG_KEYINPUT che si trova all’indirizzo 0400:0130h. Controllare se un tasto è stato premuto o meno, sarebbe ovvio se non fosse per un piccolo dettaglio: i bit sono impostati a 0 quando il tasto è premuto e ad 1 quando non è premuto. Quindi il valore di default del registro è 03FF e non 0. Oltre al registro di input dei tasti, ne esiste un’altro praticamente identico al primo detto registro di controllo dei tasti (REG_KEYCNT) che serve a controllare le interrupt hardware (che vedremo più avanti). L’unica differenza rispetto al primo registro è che gli ultimi 2 bit (F ed E) servono a controllare le interrupt. ‘F’ rappresenta un operatore booleano: se è impostato a 0 usa un OR (fa partire l’interrupt se un tasto qualsiasi è stato premuto) altrimenti se impostato a 1 è un AND (fa partire l’interrupt solo se sono premuti tutti i tasti). ‘E’ abilita l’interrupt. Vediamo nella pratica come controllare lo stato dei tasti. Quello che andiamo a fare è leggere lo stato del registro ad esempio all’inizio del frame ed usarlo come riferimento per tutto il frame. Quindi avremo due variabili: una per controllare lo stato attuale, una per salvare lo stato precedente. Ed infine una funzione che le aggiorna. extern u16 __key_curr, __key_prev; #define KEY_MASK 0x03FF inline void key_poll() { __key_prev= __key_curr; __key_curr= ~REG_KEYINPUT & KEY_MASK; } La funzione key_poll inverte i bit del registro in modo che noi consideriamo i tasti premuti quando i bit valgono 1, in questo modo è più intuitivo. Se volete andare più nel dettaglio, vi spiego qui l’operazione che va a fare: Quindi alla fine ci basterà solo controllare lo stato di __key_curr e __key_prev con il tasto che abbiamo premuto. Ad esempio se vogliamo verificare se un tasto viene tenuto premuto per più tempo basta fare: (__key_curr & __key_prev) & key; (verifica che lo stato attuale del tasto è uguale al precedente ed è relativo al tasto che sto premendo). Se vogliamo verificare che il tasto è stato rilasciato: ( __key_prev & ~__key_curr ) & key; (verifica che lo stato precedente del tasto è diverso da quello attuale ed è relativo al tasto che sto rilasciando). E così via, possiamo controllare tutti i casi che vogliamo in questo modo. Per concludere, (per chi vuole vedere il codice) vi faccio vedere il programma che ho fatto, che cambia colore allo schermo finché tengo premuto A. Ho fatto anche una gif per farvi vedere cosa succede: Questo è tutto per oggi. Come sempre se avete dubbi o domande sono a vostra disposizione. La prossima volta iniziamo a vedere le modalità grafiche utili per i giochi. fonte: https://gbadev.net/tonc/keys.html Tag: @evilespeon @ZedeFire @VincyDarkHeart @Macca Clicca qui per andare al prossimo capitolo
  4. Nulla, alla fine ho ceduto e ho preso rayquaza... ora sono povero XD

    1. Mostra commenti precedenti  5 altro
    2. evilespeon
    3. Diamaxus

      Diamaxus

      Ci dobbiamo arrangiare per un po' senpai XD @evilespeon

    4. evilespeon

      evilespeon

      ah ah direi che siamo costretti XD @Diamaxus

  5. Ciao, si te la mando subito
  6. Grazie senpai
  7. Ho risolto quel problemino che avevo, quindi tra domani e dopodomani (il tempo di scrivere il prossimo paragrafo) si riprende. Stay tuned! tag: @evilespeon @ZedeFire @VincyDarkHeart @Macca
  8. Abbastanza escluso, sì Ma intanto così è, quindi fa nulla XD
  9. Sono finito qui per caso, ma non ho waifu... quindi risparisco
  10. Diamaxus

    [Serie tv] One Piece

    Ahahah belli i loro battibecchi XD
  11. Sempre gli stessi gusti abbiamo noi
  12. La sto usando, è molto molto carina Mi piacciono le doll che celebrano l'uscita sìsì
  13. di solito anche io XD
  14. in genere bloody manda quello generale
  15. Sto litigando con il mio gba... 

    Sto provando con le buone a fargli capire che mi deve ubbidire ma non sta funzionando :mumblo: 

    1. Mostra commenti precedenti  23 altro
    2. evilespeon

      evilespeon

      di nullaaa kohai @Diamaxus

    3. Pitima

      Pitima

      Il classico errore stupidissimo che ti fa perdere mezza giornata solo per cercarlo nel codice. Aaaaah, che brutti ricordi. :what:@Diamaxus

    4. Diamaxus

      Diamaxus

      Esatto, proprio quello :charmander: @Pitima

  16. ahah va bene XD
  17. Certo, te lo mando Di nulla Zede
×
×
  • Crea...