CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C/SDL]Problème de blit !

Vengeur41
Vengeur41
Niveau 10
21 janvier 2005 à 18:36:47

Ca fait 3 semaines que je suis sur un shoot.
J´avais déjà programmer des jeux pas trop mal en C avec la librairie graphique SDL mais jusque là y´avait pas eu de problèmes...
Mais là, big problème de blit ( ca ne s´execute pas) . ..
Bizzare ?
Voila mon système pour azfficher un ennemi ( là ou ca coince, et pourtant j´ai dja utilisé des 10aines de fois cette méthode ) :

typedef struct {
int x,y;
int shootx[20],shooty[20]; / * 20 tirs par ennemi */
boolean alive;
unsigned int lifes;
SDL_Surface *s;
}En;

. ..

void drawEnnemi(En *e)
{
SDL_Rect rcblit;
rcblit.x = e->x;
rcblit.y = e->y;
if ( e->alive && inScreen(e->x, e->y))
{
. ..
if ( !SDL_BlitSurface(e->s, NULL, Screen, &)){ writeLog("Erreur : impossible de bliter ! "); stop(STATE_ERROR); }
}
. ..
}

Voilà...
La structure est correctement paramètrée et passée a la fonction mais y´a pas moyen...

Si qqun peut aider...
Je vous remercie d´avance !

---->Vengeur
->http://membres.lycos.fr/vengeurstock/

JeanYvesYves
JeanYvesYves
Niveau 10
21 janvier 2005 à 19:11:21

bien le coup du if : il ne te marque pas d´erreur ? je pense que non, tu l´aurais vu.

- est ce que Screen est bien ton écran par défaut ( initialisé avec SDL_init) ?
- est ce que rcblit.x = e->x et rcblit.y = e->y ont une valeur correcte ? débug la.
- est ce que tu n´as pas un " screen" et " Screen" ?
- est ce que tu flip bien sur ( Screen) ?
- est ce que ton image e->s est correctement en mémoire ? Vérifie le code de retour de la fonction qui le crée.
- est ce que ça marche si tu essaies de blitter d´autres images ?
- essaie de passer tes images en RAM au lieu d´en VRAM voir si ça marche ( plus de VRAM ? )
. ..

Vengeur41
Vengeur41
Niveau 10
21 janvier 2005 à 19:13:08

Jai dja pensé à tout ca...

Vengeur41
Vengeur41
Niveau 10
22 janvier 2005 à 10:35:04

Vraiment, personne peut répondre ?

LGV
LGV
Niveau 28
22 janvier 2005 à 12:22:28

je ne connais pas SDL, mais la fonction de blit ne met-elle pas à jour un code d´erreur qqcq ( plus évolué que le bool de retour) qui pourrait te donner la raison pour laquelle ça ne passe pas ?

Ptival
Ptival
Niveau 10
22 janvier 2005 à 12:34:16

http://sdldoc.csn.ul.ie/sdlblitsurface.php

JeanYvesYves
JeanYvesYves
Niveau 10
22 janvier 2005 à 12:43:04

ton champ e->s est bien correct ?
ça peut venir de tellement d´endroits ! !
simplifie, débug, et regarde la valeur de toutes les variables

Vengeur41
Vengeur41
Niveau 10
22 janvier 2005 à 18:13:30

Si j´ai fait ca c´etait juste pour voir d´ou venait l´erreur ( et elle vient bien de blit_surface) mais pour le retour c´est ok...

Et la valeur transmise au champ s est correcte, j´ai vérifié...

JeanYvesYves
JeanYvesYves
Niveau 10
22 janvier 2005 à 19:15:46

Bizarre... mais ça peut venir de tellement d´endroits...
et tu arrives a blitter d´autres surfaces ?

Vengeur41
Vengeur41
Niveau 10
23 janvier 2005 à 12:44:34

Que la surface soit celle ci a partir de la structure ou seule ou que ce soit une autre ( structure ou seule), ca marche pas...

kokoala
kokoala
Niveau 7
23 janvier 2005 à 13:32:51

le blitsurface renvoie 0 si ça peut afficher

avec le ´!´ devant dans le if, il passera toujours dans le if si le blit fonctionne

enfin, ça fait longtemps que j´ai plus fait de SDL alors je peux me tromper :p)

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment