Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12
  1. #11
    Questo non è un evento... non è che vengono gestiti tramite interrupt o simili? Informati bene...
    Amaro C++, il gusto pieno dell'undefined behavior.

  2. #12
    Utente di HTML.it L'avatar di newbie
    Registrato dal
    Dec 2005
    Messaggi
    299
    Nel tuo caso, basterebbe capire se esiste in questo SDK una qualche procedura che permetta di dire al sistema quali sono le procedure di evento da chiamare: basta scriverle (rispettandone le interfacce), e poi passare alla procedura un puntatore a funzione che a queste si riferisca.
    Che ne so, una cosa del tipo

    codice:
    //procedura evento
    void PadHeldUp()
    {
    }
    
    //funzione di libreria
    RegisterPadHelpUpEvent(PadHeldUp);
    Altrimenti, sei costretto a lavorare a basso livello... di certo non è il massimo della comodità, ma almeno puoi creare una libreria di controllo del joystick (o chi per lui) facilmente riutilizzabile, e soprattutto... a eventi!

    Per quanto riguarda il thread, non so se le librerie per Nintendo DS permettano di crearli, ma il principio resta sempre quello: devi creare un ciclo che controlli di continuo se il tasto del pad è stato premuto o meno, e generi i relativi eventi.

    Molto (ma molto!) approssimativamente, potresti fare così:

    codice:
    //dichiarazione tipo puntatore
    void (*pEvento)();
    
    void main()
    {
       //variabile contenente il puntatore alla procedura di evento
       pEvento proc = ProceduraEvento;
       
       //ciclo
       while(1)
       {
          if(pad.Held.Up)
             proc();            //che punta a ProceduraEvento
       }
    }
    
    void ProceduraEvento()
    {
        printf("EVENTO");
    }
    In realtà nel tuo caso dovresti creare un oggetto con due metodi: uno che fa partire il loop e un altro del tipo Registra(pEvento p){proc = p;} che accetti dall'esterno il puntatore... ma il principio è più o meno lo stesso.
    Svegliati, Neo. Matrix ti possiede...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.