Cellimo
31/08/2005, 16h56
maaaaiiiiis euuuuuuuuh,
il est pas gentil, il veut pas faire ce que je veux faire !
#include <SDL/SDL.h>
#include <stdio.h>
#include <stdlib.h>
// Surfaces et rectangle
SDL_Rect rect;
SDL_Surface *Screen, *rectangle;
// Fonction d'affichage
void affichage()
{
// Coloration des surfaces
SDL_FillRect(rectangle, NULL,SDL_MapRGB(Screen->format, 255, 255, 255));
SDL_FillRect(Screen, NULL, 0);
// Définition de la zone à l'écran
rect.w = 1;
rect.h = 1;
rect.x = 100;
rect.y = 10;
// Blit de la surface à l'écran et affichage
SDL_BlitSurface(rectangle,NULL,Screen,&rect);
SDL_Flip(Screen);
}
int main (int argc, char **argv)
{
// Initialisation de SDL
if (SDL_Init (SDL_INIT_VIDEO) < 0) {
fprintf (stderr, "Erreur d'initialisation de SDL: %s\n",
SDL_GetError ());
return 1;
}
atexit (SDL_Quit); // Pour quitter proprement
// Initialisation de SDL_Video
Screen = SDL_SetVideoMode (640, 480, 32, SDL_SWSURFACE | SDL_DOUBLEBUF);
if (Screen == NULL) {
fprintf (stderr, "Erreur d'init du mode video: %s\n",
SDL_GetError ());
return 2;
}
// Allocation de la surface (pour l'instant vide)
rectangle = SDL_CreateRGBSurface(SDL_SWSURFACE,
320, 240, 32,
0, 0, 0, 0);
// Titre de fenêtre
SDL_WM_SetCaption ("Première appli SDL", NULL);
// Boucle infinie
while (true)
{
SDL_Event event; // Fermer la fenêtre proprement
if (SDL_PollEvent (&event) && event.type==SDL_QUIT)
break;
affichage(); // Mise à jour de l'écran
}
// Libération de la surface rectangle
SDL_FreeSurface(rectangle);
return 0;
}
voila normalement il devrai me tracer un rectangle (rempli) de 1x1
mais il m'en fait un bien plus grand,
coment jfé pour lui faire entendre raison ??
il est pas gentil, il veut pas faire ce que je veux faire !
#include <SDL/SDL.h>
#include <stdio.h>
#include <stdlib.h>
// Surfaces et rectangle
SDL_Rect rect;
SDL_Surface *Screen, *rectangle;
// Fonction d'affichage
void affichage()
{
// Coloration des surfaces
SDL_FillRect(rectangle, NULL,SDL_MapRGB(Screen->format, 255, 255, 255));
SDL_FillRect(Screen, NULL, 0);
// Définition de la zone à l'écran
rect.w = 1;
rect.h = 1;
rect.x = 100;
rect.y = 10;
// Blit de la surface à l'écran et affichage
SDL_BlitSurface(rectangle,NULL,Screen,&rect);
SDL_Flip(Screen);
}
int main (int argc, char **argv)
{
// Initialisation de SDL
if (SDL_Init (SDL_INIT_VIDEO) < 0) {
fprintf (stderr, "Erreur d'initialisation de SDL: %s\n",
SDL_GetError ());
return 1;
}
atexit (SDL_Quit); // Pour quitter proprement
// Initialisation de SDL_Video
Screen = SDL_SetVideoMode (640, 480, 32, SDL_SWSURFACE | SDL_DOUBLEBUF);
if (Screen == NULL) {
fprintf (stderr, "Erreur d'init du mode video: %s\n",
SDL_GetError ());
return 2;
}
// Allocation de la surface (pour l'instant vide)
rectangle = SDL_CreateRGBSurface(SDL_SWSURFACE,
320, 240, 32,
0, 0, 0, 0);
// Titre de fenêtre
SDL_WM_SetCaption ("Première appli SDL", NULL);
// Boucle infinie
while (true)
{
SDL_Event event; // Fermer la fenêtre proprement
if (SDL_PollEvent (&event) && event.type==SDL_QUIT)
break;
affichage(); // Mise à jour de l'écran
}
// Libération de la surface rectangle
SDL_FreeSurface(rectangle);
return 0;
}
voila normalement il devrai me tracer un rectangle (rempli) de 1x1
mais il m'en fait un bien plus grand,
coment jfé pour lui faire entendre raison ??