Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - problema trasparenza con le winbgi
Forum - C/C++ - problema trasparenza con le winbgi

Avatar
deviltiger (Ex-Member)
Newbie


Messaggi: 4
Iscritto: 10/01/2011

Segnala al moderatore
Postato alle 15:58
Domenica, 27/02/2011
salve a tutti, sto realizando uno snake con le libreri grafiche delle winbgi (utilizate per dovere di scuola! ) il problema è che non vengono supportate le immagini con la trasparenza, ora come ora lo snake si muove sullo schermo e viene eliminata la coda su sfondo nero e non ci sono problemi ma se provo a caricare un qualunque sfondo la coda viene eliminata lasciando una scia... se avete qualche consiglio sarebbero ben accetti :)  
e inoltre vorrei un consiglio su qualche libreria per la gestione dell'audio visto che con le winbgi non sono supportate (mi basta una funzione per caricare un file audio sotto il programma) grazie mille :D


i nodi vengono sempre al pettine...
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Up
0
Down
V
Segnala al moderatore
Postato alle 16:55
Domenica, 27/02/2011

beh considera che il problema della "scia" non dovrebbe presentarsi se adotti questo metodo:

quando snake copre una casella, vai a leggere l'area dell'immagine che va a coprire e te la salvi.
quando snake lascia la casella, al posto di disegnare un quadrato bianco al posto dell'ultimo segmento di coda, vai a copiare l'immagine precedentemente salvata.

In questo modo hai l'effetto del serpente che "scivola" sullo sfondo.

Altra cosa che potresti fare è ridisegnare tutta la scena ad ogni iterazione, ma non so quanto ti convenga :)


ridisegnare la scena proprio no... ci avevo già provato ma ho come risultato un fastidio refresh dello schermo ogni secondo... - deviltiger - 27/02/11 19:17
cmq per coprire l'ultimo elemento utilizzo una funzione della libreria void putimage (int left, int top, void *bitmap, int op); e come int op, uso XOR_PUT - deviltiger - 27/02/11 19:21
ancora meglio potresti, al posto di xorrare e basta, croppare l'immagine di sfondo sulle coordinate di quel blocco e sostituire il blocco di snake con quel blocco estratto dall'immagine :) - HeDo - 28/02/11 00:23
mmm grazie alla fine l'ho lasciato nero xD però appena ho 2 secondi proverò il tuo metodo :) invece per l'audio?? :) - deviltiger - 08/03/11 11:32


Ingegnere Informatico
https://ldlagency.it
PM