SDL text

Fermé
ghada - 3 août 2010 à 11:42
 matrefeytontias - 28 août 2010 à 16:49
Bonjour,
j'ai un probléme lors de l'exécution de ce code.En faite il est bien compilable mais lorsque je l'exécute rien ne s'affiche et un message d'erreur apparit"erreur de segmentation".SVP ,avez vous des solutions?j'ai tant besoin de savoir comment saisir un text sur une surface SDL :)


#include <stdlib.h>
#include <stdio.h>
#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>

int main(int argc, char *argv[])
{
SDL_Surface *ecran = NULL, *texte = NULL, *imageDeFond = NULL;
SDL_Rect position;
SDL_Event event;
TTF_Font *police = NULL;
SDL_Color couleurNoire = {0, 0, 0};
int continuer = 1;


SDL_Init(SDL_INIT_VIDEO);
TTF_Init();

ecran = SDL_SetVideoMode(640, 480, 32, SDL_HWSURFACE | SDL_DOUBLEBUF);
SDL_WM_SetCaption("Gestion du texte avec SDL_ttf", NULL);

imageDeFond = SDL_LoadBMP("fond d'ecran.bmp");
/*icone du menu*/
SDL_WM_SetIcon(SDL_LoadBMP("icone de menu.bmp"), NULL);
/* Chargement de la police */
police = TTF_OpenFont("Arial.ttf", 65);
/* Ecriture du texte dans la SDL_Surface "texte" en mode Blended (optimal) */
texte = TTF_RenderText_Blended(police, "Salut les Zér0s !", couleurNoire);

while (continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break;
}

SDL_FillRect(ecran, NULL, SDL_MapRGB(ecran->format, 255, 255, 255));

position.x = 0;
position.y = 0;
SDL_BlitSurface(imageDeFond, NULL, ecran, &position); /* Blit du fond */

position.x = 60;
position.y = 370;
SDL_BlitSurface(texte, NULL, ecran, &position); /* Blit du texte par-dessus */
SDL_Flip(ecran);
}

TTF_CloseFont(police);
TTF_Quit();

SDL_FreeSurface(texte);
SDL_Quit();


return EXIT_SUCCESS;
}
A voir également:

1 réponse

Salut !
Il se peut que ce soit l'emplacement des biblio SDL et SDL_ttf qui gênent...
Moi aussi j'ai eu ces erreurs à mes débuts (ce qui remonte à pas longtemps).
Ça peut être parce que ces deux biblios sont mal placés, et en l'occurrence que les DLLs de SDL_ttf (y'en a pas qu'une) ne sont pas toutes dans le dossier du projet. Par contre, quel IDE utilise-tu ? ça peut influencer sur la manière de les placer. Sinon, ben, le code est bon, y a pas d'erreurs apparentes.
1