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++ - C++ - SDL scrivere del testo
Forum - C/C++ - C++ - SDL scrivere del testo

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
RiccardoG97 (Member)
Pro


Messaggi: 133
Iscritto: 03/01/2012

Segnala al moderatore
Postato alle 15:25
Giovedì, 26/01/2012
Sto creando un gioco in C++ con SDL.
Devo scrivere sulla finestra il punteggio del giocatore ma non ci riesco.. Ho provato varie funzioni ma accettano solo parametri const char, mentre io gli devo passare una variabile intera.
Come potrei fare?
Grazie in anticipo a tutti :)


"Il sangue ha il sapore del ferro"
PM Quote
Avatar
dmr (Normal User)
Pro


Messaggi: 141
Iscritto: 04/01/2012

Segnala al moderatore
Postato alle 16:25
Giovedì, 26/01/2012
Ciao, se il tuo compilatore la supporta potresti provare a usare la funzione itoa.


Principali interessi: Compilatori e generatori di parser.
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5473
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 17:08
Giovedì, 26/01/2012
Usa la sprintf (anche se non comprendo le tue perplessità ...)


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
RiccardoG97 (Member)
Pro


Messaggi: 133
Iscritto: 03/01/2012

Segnala al moderatore
Postato alle 17:13
Giovedì, 26/01/2012
Scusate forse non mi sono spiegato bene...
Devo stampare sulla finestra del mio gioco il punteggio, utilizzando un font.
Con allegro per esempio c'era una funzione apposta. Dopo dovevo caricare il file .ttf nella directory del mio gioco ed era fatto. però non riesco con SDL.


"Il sangue ha il sapore del ferro"
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5473
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:20
Giovedì, 26/01/2012
Hai detto di aver provato varie funzioni ... di quale parli?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
RiccardoG97 (Member)
Pro


Messaggi: 133
Iscritto: 03/01/2012

Segnala al moderatore
Postato alle 15:55
Venerdì, 27/01/2012
Avevo provato così:
Codice sorgente - presumibilmente C++

  1. #include "SDL.h"
  2. #include "SDL_TTF.h"
  3.  
  4. SDL_Surface *message = NULL;
  5. SDL_Surface *screen = NULL;
  6. TTF_Font *font = NULL;
  7. SDL_Color textColor = { 255, 255, 255 };
  8.  
  9. int main ( int argc, char* argv[] )
  10. {
  11.         font = TTF_OpenFont ( "Font.ttf", 28 );
  12.         message = TTF_RenderText_Solid ( font, "Qui posso solo inserire un parametro const char, mentre io vorrei inserire un integer",  textColor );
  13.         SDL_BlitSurface ( message, NULL, screen, NULL );
  14.         SDL_UpdateRect ( screen, 0, 0, 0, 0 );
  15.         /*
  16.         Tutto il resto del programma
  17.         */
  18.         return 0;
  19. }



Con la funzione TTF_RendText_Solid posso solo passargli un parametro const char, mentre io (dato che devo mostrare un punteggio) gli devo passare un parametro integer.



"Il sangue ha il sapore del ferro"
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5473
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 17:51
Venerdì, 27/01/2012
Beh, converti il tuo numero in una stringa e la passi alla funzione ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
PM Quote
Avatar
RiccardoG97 (Member)
Pro


Messaggi: 133
Iscritto: 03/01/2012

Segnala al moderatore
Postato alle 18:07
Venerdì, 27/01/2012
Provo a convertire con
Codice sorgente - presumibilmente Plain Text

  1. static_cast<const char>(points)


ERRORE: argomento const char incompatibile con const char*

Dice che deve ricevere un puntatore a const char.

Provo così:
Codice sorgente - presumibilmente Plain Text

  1. static_cast<const char>(pointsPtr) //PointsPtr punta points



Ma mi dà sempre errore...
ERRORE: conversione di tipo non valida

Sai come si potrebbe risolvere?


"Il sangue ha il sapore del ferro"
PM Quote
Avatar
RiccardoG97 (Member)
Pro


Messaggi: 133
Iscritto: 03/01/2012

Segnala al moderatore
Postato alle 18:07
Venerdì, 27/01/2012
Provo a convertire con
Codice sorgente - presumibilmente Plain Text

  1. static_cast<const char>(points)


ERRORE: argomento const char incompatibile con const char*

Dice che deve ricevere un puntatore a const char.

Provo così:
Codice sorgente - presumibilmente Plain Text

  1. static_cast<const char>(pointsPtr) //PointsPtr punta points



Ma mi dà sempre errore...
ERRORE: conversione di tipo non valida

Sai come si potrebbe risolvere?


"Il sangue ha il sapore del ferro"
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo