Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1467 connectés 

  FORUM HardWare.fr
  Programmation

  [SDL] Rien n'est affiché à l'écran

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SDL] Rien n'est affiché à l'écran

n°85776
antsite
Je me souviens
Posté le 03-01-2002 à 16:00:50  profilanswer
 

Tout est bien initailisé, pas d'erreur sur SDL_Init, SDL_SetVideoMode et SDL_CreateRGBSurface, les messages (PushEvent,...) marchent très bien mais je n'arrive pas à dessiner à l'écran, voici un bout de mon code :
 
int rmask,gmask,bmask,amask;
 
SDL_Init(SDL_INIT_VIDEO);
 
SDL_SetVideoMode(SCR_X,SCR_Y,16,SDL_FULLSCREEN);
 
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
    rmask = 0xff000000;
    gmask = 0x00ff0000;
    bmask = 0x0000ff00;
    amask = 0x000000ff;
#else
    rmask = 0x000000ff;
    gmask = 0x0000ff00;
    bmask = 0x00ff0000;
    amask = 0xff000000;
#endif
 
SDL_ShowCursor(SDL_DISABLE); //hide cursor (si on le cache pas, on le voit à l'écran)
screen = SDL_CreateRGBSurface(SDL_SWSURFACE,SCR_X,SCR_Y,16,rmask,gmask,bmask,amask);
if(screen == NULL) //error
 MessageBeep(MB_OK);
 
SDL_Rect rct;
rct.x = 50;
rct.y = 50;
rct.w = 100;
rct.h = 100;
 
if(SDL_MUSTLOCK(screen))
 SDL_LockSurface(screen);
 
SDL_FillRect(screen,&rct,SDL_MapRGB(screen->format,0xff,0xff,0));
 
//rien n'est tracé...
 
if(SDL_MUSTLOCK(screen))
 SDL_UnlockSurface(screen);
 
SDL_UpdateRect(screen,0,0,0,0);
 
//boucle des messages...
 
SDL_FreeSurface(screen);
SDL_Quit();
 
Il y a juste un truc : je suis sous VC++ et j'utilise donc WinMain et non main() mais je ne sais pas si ça change grand chose...

mood
Publicité
Posté le 03-01-2002 à 16:00:50  profilanswer
 

n°85884
antsite
Je me souviens
Posté le 03-01-2002 à 20:09:43  profilanswer
 

:bounce: up !

n°85996
antsite
Je me souviens
Posté le 04-01-2002 à 11:11:07  profilanswer
 

Personne n'utilise SDL ? :bounce:

n°85997
bobdupont
Posté le 04-01-2002 à 11:21:27  profilanswer
 

Bon ça fait 1 moment que j'ai pas touché à ça donc je vais peut être dire 1 connerie :)
 
je rajouterais 1 SDL_Flip() après le SDL_UpdateRect(screen,0,0,0,0);

n°85998
bobdupont
Posté le 04-01-2002 à 11:24:29  profilanswer
 

Bon j'ai effectivement dit 1 connerie :D
 
Tu est sur que 'screen' correspond vraiment à ton écran ??
parce que normalement SDL_SetVideoMode te renvoie 1 pointeur sur 1 surface et toi tu ne l'utilise pas c curieux.

n°86029
antsite
Je me souviens
Posté le 04-01-2002 à 13:22:30  profilanswer
 

et bien écoute, screen est un pointeur renvoyé par SDL_CreateRGBSurface(); mais si tu dis que il faut utiliser celui retourné par SetVideoMode alors je vais essayer, en tout cas merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [SDL] Rien n'est affiché à l'écran

 

Sujets relatifs
[Delphi] Changer le curseur de la souris, mais sur tout l'écran !essai.. y'a rien juste pour essayer si mon login est encore valable
fond d ecran d une page html centréComment démarrer une boite de diag en plein écran ?
[PHP] c'est comment qu'on affiche un blob ??[PHP]Comment tester une variable si elle ne contient rien ?
[C++/OpenGL] Souris ne bloquant pas aux bords de l'écran...Pour qu'un prog C++ graphique démarre dans une fenêtre plein écran ?
[DOS] lancer une fenetre DOS directement plein écran ?Aide sur un code : j'y comprends rien c pour le boulot
Plus de sujets relatifs à : [SDL] Rien n'est affiché à l'écran


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR