Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    11

    [c++] evento continuo finchè non si rilascia un tasto

    ciao raga....veniamo subito al dunque in pratica sto facendo un gioco con le librerie di allegro.h, ma ho un piccolo problema.....in pratica il mio aereo spara solo quando tengo premuto il tasto, nel mio caso la A.....il problema è che appena lascio il tasto il proiettile mi rimane a metà,poi se ripremo continua a camminare e se lascio di nuovo fa uguale fino a scomparire come da me programmato appena raggiunta la fine dello schermo.....e io invece voglio fare in modo che una volta premuto il tasto...il proiettile scorra sullo schermo fino alla fine della schermata,facendomi vedere che avanza mano a mano....qualcuno può aiutarmi......???

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: [c++] evento continuo finchè non si rilascia un tasto

    Originariamente inviato da zyzyo
    qualcuno può aiutarmi......???
    Senza vedere il codice che hai scritto come pensi che ti si possa aiutare?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    11

    ecco....

    scusami....cmq sto usando allegro.h

    il codice della procedura del lancio del missile è questo:

    void missile(){
    draw_sprite(buf,miss,xmiss,ymiss);
    if(key[KEY_A]){
    xmiss=xmiss+10;
    if(xmiss>=270){
    xmiss=x+60;
    }
    }
    }




    xmiss e ymiss sono le coordinate del missile,miss fa riferimento a una immagine.
    Inoltre ogni volta che premo il tasto A, il missile avanza di 10 pixel......e se ha raggiunto il valore 270...dimensione massima del mio schermo gioco, il missile torna a capo....in pratica scalo il numero di missili come se lo avessi lanciato uno e mi trovo con un altro missile attaccato alle coordinate dell'aereo....in pratica va tutto bene....mi serve solo l'aiuto sul fatto della pressione del tasto che una volta premuto il missile deve avanzare diciamo di pixel in pixel come i giochini anni 90 io devo visualizzare l'avanzata del missile finchè non arriva a fine schermo......spero che sono stato chiaro

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Io farei in questo modo, nel loop del mio gioco

    codice:
    int i,mis_count,num_mis;
    
    for(num_mis=i=0;i<num_missili;i++){
        if(missili[i].y < 270){
            int step;
    
            disegna_missile(i);
            step = 270 - missili[i].y;
            if(step > 10)
                  step = 10;                
            else
                  num_mis++;
            missili[i].y += step;                   
        }
        else
            num_mis++;
    }
    
    if(tasto_A_premuto){
        missili[num_missili].y = 10;
        num_missili++;
    }
    Per gli Spartani e Sparta usa spartan Il mio github

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    11

    ....

    scusa io volevo sapere una cosa semplicissima....se puoi aiutarmi sul mio codice.....voglio solo fare in modo che si veda tutto lo scorrimento del missile che nel mio caso avanza di 10 pixel alla volta fino ad arrivare alla coordinata max x dello schermo....è possibile fare una cosa del genere???? non credo che appena lascio il tasto esempio il mio missile invece di arrivare al max a 270 si ferma a 100 poi ripremo di nuovo il tasto fino a farlo arrivare a 200 ecc.....voglio fare in modo che una volta premuto mi faccia vedere il suo avanzamento fino ad arrivare a 270!!!! XD
    perchè adesso il missile avanza di 10 pixel alla volta solo quando tengo premuto XD

  6. #6
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Ma col mio riesci ad avere molti missili di quanto tu possa immaginare, sai che spasso
    Per gli Spartani e Sparta usa spartan Il mio github

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    11

    ....

    ahah ma si lo so ma a me serve questa cosa innanzitutto poi vediamo per i missili infiniti ahah

  8. #8
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    ok allora potresti provare cn un nuov if(key[KEY_A] || (xmiss <270 && xmiss > 60)).
    Cmq a mio avviso una bella raffica, nn gli avrebbe dato scampo
    Per gli Spartani e Sparta usa spartan Il mio github

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    11

    ...

    grazie mille linoma ora funziona una meraviglia

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    11

    ....

    adesso mi mancano 3 passaggi per completare alla grande il gioco....sai dirmi perchè se vado avanti con il mio aereo non riesco a sparare???? nel senso riesce a sparare solo quando vado sopra o sotto.....se vado avanti o indietro non spara XD vabbè cmq questo è uno dei tanti altri problemi che devo risolvere.....

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 © 2025 vBulletin Solutions, Inc. All rights reserved.