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

SDl_Surface... C'est looooong

Vengeur41
Vengeur41
Niveau 10
14 septembre 2005 à 20:22:33

Et révise tes bases ! printf c´est de la base de chez base, inloupable !

jejej
jejej
Niveau 9
14 septembre 2005 à 20:46:29

A vrai dire , je ne connaissais pas non plus ^^
je faisais ainsi :

char file[] ={ ´i´,´m´,...´0´,´.´,´b´,´m´,´p´,´\0´ };

puis
for( int i=0 ; i<10 ; i++ )
{
file[strlen(file)-6] = i+48...
SDL_LoadBMP(file);
}

ça revient au meme qu´un sprintf , mais c´est plus long ! :p)

N_Cortex
N_Cortex
Niveau 7
16 septembre 2005 à 17:30:13

Bon, alors voici ou j´en suis dans mon problème :

struct text_menu menu[15];
for (g=1; g<15; g++)
{
menu[g].texte = "Menu Principal";
menu[g].in = false;
menu[g].x = posx;
menu[g].y = posy;
sprintf(menu[g].type,"image%d.bmp",g);
posy += 30;
if (g == 2)posx += 20;
if (g == 8)posx -= 20;
if (g == 9)posx += 20;
if (g == 11) pos_x -= 20;
if (g == 12) pos_x += 20;
}

Et a la ligne de sprintf, voici l´erreur, et la note qui va avec :
no matching function for call to `sprintf(std::string&, const char[12], int&)´

note C:\DevCpp\include\stdio.h:208 candidates are: int sprintf(char*, const char*, ...)

Et j´ai appris le c++ avec les tutos de JYY, et je n´ai pas trouvé de printf !!

Vengeur41
Vengeur41
Niveau 10
16 septembre 2005 à 19:47:46

C´est simple, sprintf n´attend pas des std::string mais des char*...

N_Cortex
N_Cortex
Niveau 7
16 septembre 2005 à 20:04:34

Hum... Ok, je vais voir avec ça.

Mais pourquoi est-ce que ça ne fonctionne pas avec string ?

N_Cortex
N_Cortex
Niveau 7
16 septembre 2005 à 20:44:41

Okok !!

N_Cortex
N_Cortex
Niveau 7
17 septembre 2005 à 11:12:11

Voila, mon programme plante, mais il ne me met aucune erreur...

Les morceaux de codes qui concerne le system de Vengeur :

struct text_menu menu[15];
for (g=1; g<15; g++)
{
menu[g].texte = "Menu Principal";
menu[g].in = false;
menu[g].x = posx;
menu[g].y = posy;

sprintf(menu[g].type,"images/menu/image%d.bmp",g);

posy += 30;
if (g == 2)posx += 20;
if (g == 8)posx -= 20;
if (g == 9)posx += 20;
if (g == 11) pos_x -= 20;
if (g == 12) pos_x += 20;
}

SDL_Surface* surface_menu[15];

for (i=0; i<15; i++)
{
surface_menu[i]=LoadBMP(menu[i].type,1);
if (surface_menu[i] == NULL) return(0);
menu[i].h = surface_menu[i]->h;
menu[i].w = surface_menu[i]->w;
}

for (i=1;i<15;i++)
{

SDL_SetColorKey(surface_menu[i],SDL_SRCCOLORKEY,SD
L_MapRGBA(surface_menu[i]->format,255,0,255,0));
}

if (mode == "menu")
{
UpdateEvents(); //recherche d´events
if (boutons[0] == 1)
{
}

for (i=1;i<15;i++)
{

Blit(surface_menu[i],0,0,menu[i].w,menu[i].h,scree
n,menu[i].x,menu[i].y);
if (i == 4) i++;
if (i == 6) i++;
if (i == 8) i++;
if (i == 9) i++;
if (i == 14) i++;
}}

N_Cortex
N_Cortex
Niveau 7
17 septembre 2005 à 11:12:50

if (mode == "menu")
{
UpdateEvents(); //recherche d´events
if (boutons[0] == 1)
{
}

for (i=1;i<15;i++)
{

Blit(surface_menu[i],0,0,menu[i].w,menu[i].h,scree

n,menu[i].x,menu[i].y);
if (i == 4) i++;
if (i == 6) i++;
if (i == 8) i++;
if (i == 9) i++;
if (i == 14) i++;
}}

cette partie la, elle est dans le while.

Vengeur41
Vengeur41
Niveau 10
17 septembre 2005 à 12:29:33

Réfléchis un peu nan mais !
C´est quoi un menu ?

Quand tu pourra répondre à cette question tu pourra faire ton menu.

"if (mode == "menu") "

Ca ne peut pas marcher...

N_Cortex
N_Cortex
Niveau 7
17 septembre 2005 à 12:55:25

Ba.... Franchement je vois pas... Comment afficher des choses différents en fonction de l´action en cours dans le programme... JE vois que ça comme solution.

Virtuality
Virtuality
Niveau 8
17 septembre 2005 à 12:57:18

"if (mode == ´menu´) "

C´était pas un truc du style?

Déjà comment peut on t´aider si on ne connais pas tout?
mode est une variable de quel type?
Sinon moi je te conseil de faire comme ca :

int mode = 0;

if (mode==0)
//menu
if(mode==1)
//jeu

N_Cortex
N_Cortex
Niveau 7
17 septembre 2005 à 13:42:32

Oui, concernant mode, je l´ai déja modifié. C´est donc un int ( et pour menu, if (mode == 0) et le jeu c´est if(mode == 1)

Voila !

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