|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jun 2009
Messaggi: 3
|
Interfaccia grafica C++
Ciao a tutti, sono nuovo del forum e spero di non violare nessuna regola con questa discussione.
![]() Comunque il mio problema è questo: devo fare un progetto per l'università e in pratica dovrei simulare il comportamento di un automa cellulare di tipo predatore-preda. Vorrei dunque visualizzare con un'interfaccia grafica carina i movimenti degli attori del modello, stampando i valori delle celle della matrice sottoforma di immagini. Quindi ad ogni passo di un ipotetico form il programma dovrebbe stampare una matrice di immagini più dei contatori sulle prede uccise ecc... Chi mi sa aiutare a realizzare questa interfaccia grafica?? Ps utilizzo visual studio 2008 oppure eclipse, ma posso programmare anche su linux. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Se devi visualizzare una matrice, è facilissimo:
PixelToaster IMHO questo programmino è da santificare perchè in 2 righe prende una matrice e la stampa in una finestra usando la directX ![]() Ovviamente questo non comprende tasti e contatori, che richiederebbero di adottare un (complesso) sistema di GUI oppure un pò di lavoro da parte tua... |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Jun 2009
Messaggi: 3
|
grazie
Grazie mille...ora lo provo, e cercherò di inserire danche i contatori
![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: Jun 2009
Messaggi: 3
|
Potresti spiegarmi brevemente come si usa?? Purtroppo il progetto deve essere pronto entro una settimana e non posso applicarmi più di tanto all'interfaccia.
Grazie Mille dell'aiuto |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
Quando dicevo che servono 2 righe intendevo sul serio
![]() Per inizializzare fai Codice:
myDisplay = new Display( nome_finestra, larghezza, altezza, fullscreen, pixelmode); L'unico parametro "strano" è pixelmode, che indica se userai dei floats (full-range buffer a 128bit) oppure dei chars (32bit standard) per ogni colore dei pixel. per aggiornare il display usi Codice:
display->update( (TrueColorPixel*)myBuffer ); //32 bit display->update( (FloatingPointPixel*)myBuffer ); //128 bit Deve avere 4 canali per pixel (r g b a) quindi per avere uno schermo bianco nel caso dei 32-bit puoi fare: Codice:
void* myBuffer = malloc( width*height*4 ); memset( myBuffer, 255, width*height*4 ); ![]() Ultima modifica di Tommo : 17-06-2009 alle 08:27. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:51.