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

J´aide les personne en C/C++

Giga-Nova
Giga-Nova
Niveau 9
18 août 2004 à 15:56:11

52 C:\Dev-Cpp\balle.cpp
`mec´ undeclared ( first use this function)

JeanYvesYves
JeanYvesYves
Niveau 10
18 août 2004 à 16:00:01

attends, je ne suis plus tout la !
tu me dis que ça marche avec le gars immobile :
normale car je t´ai fait remettre :

SDL_blit(mec[0] . ....

mais apres tu me dis que ça marche pas ligne 52 ?
copie moi aussi la ligne qui foire !

et si apres, tu y fais marcher comme ça, rétablie la ligne avec le mec[SDL_gettick...] que je t´avais mis qq lignes plus haut

Koyo-K
Koyo-K
Niveau 9
18 août 2004 à 16:00:34

( pour continuer avec les questions sur la SDL)
quand on monte ou qu´on est sur un plan pas droit est-ce qu´on peut faire monter et descendre le gugus ? par ex sur ces quelques plans : http://pgmana.altervista.org/panlom3.htm

Giga-Nova
Giga-Nova
Niveau 9
18 août 2004 à 16:03:14

quand je met SDL_Surface* mec[3];

ca marche mais bonhomme bouge pas

quand je l´enlève ca foire
52 C:\Dev-Cpp\balle.cpp
`mec´ undeclared ( first use this function)

mec[0]=LoadBMP("1.bmp");

JeanYvesYves
JeanYvesYves
Niveau 10
18 août 2004 à 16:04:48

tout a fait :)
dis toi qu´on peut tout faire si on s´organise !

la ce que tu peux faire par exemple, c´est méthématique : tu peux définir une fonction genre :

y = x/3 + 100

et donc tu affiches ton bonhomme a la position :

( x, x/3+100)

et donc, tu bouges juste x, et il calcule y en fonction de cela ! tu vois le principe ?

JeanYvesYves
JeanYvesYves
Niveau 10
18 août 2004 à 16:06:17

SDL_Surface* mec[3]; / / déclaration

d´abord, puis :

mec[0]=LoadBMP("1.bmp");

normalement c´est bon ! tu as bien mis la déclaration avant ?

Giga-Nova
Giga-Nova
Niveau 9
18 août 2004 à 16:06:29

euh...(j´ai rien capté)non.

JeanYvesYves
JeanYvesYves
Niveau 10
18 août 2004 à 16:07:42

copie colle ton listing ici.

Giga-Nova
Giga-Nova
Niveau 9
18 août 2004 à 16:08:16
  1. include < SDL/SDL.h>

SDL_Surface* screen; // l´ecran principale
SDL_Event event; // gestion d´evenement

void init_SDL() // initialise SDL
{
SDL_Init(SDL_INIT_VIDEO|SDL_INIT_TIMER); // preapare SDL
screen = SDL_SetVideoMode(1024, 768, 32,SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_FULLSCREEN); / / mode graphique
SDL_ShowCursor(0); / / eneleve la souris
}

SDL_Rect Rect(int x,int y,int w=0,int h=0) // pour faire un rectangle plus vite
{
SDL_Rect r;
r.x=x;
r.y=y;
r.w=w;
r.h=h;
return r;
}

SDL_Surface* LoadBMP(char* fichier,int vram=1) / / voir tutorial 2.1.2
{
SDL_Surface* f = SDL_LoadBMP(fichier); // charge l´image dans f en RAM
SDL_Surface* r;
if ( vram)
r=SDL_CreateRGBSurface(SDL_HWSURFACE, f->w, f->h, 32, 0, 0, 0, 0);// cree une image en VRAM
if ( r==NULL) vram=0; // Si plus de place en VRAM, alors r= NULL.
if ( !vram)
r=SDL_CreateRGBSurface(SDL_SWSURFACE, f->w, f->h, 32, 0, 0, 0, 0); / / cree une image en VRAM
SDL_Rect R=Rect(0,0,f->w,f->h);
SDL_BlitSurface(f,NULL,r,&); // copie l´image f de la RAM vers firstscreen en VRAM
SDL_FreeSurface(f); / / supprime la surface f : inutile maintenant --> libere la mémoire
return r;
}

int main(int argc , char **argv)
{
int s=1; / / sera le sens de déplacement de l´image : 1 = droite, -1 = gauche
int sx=1,sy=1; / / sens de déplacement en x et en y
SDL_Rect rect1; // structure rectangle ( contiendra la position de la balle pour rect1.x et rect1.y
SDL_Surface* firstscreen; / / tampon temporaire
SDL_Surface* mec[3];

int fini=0;
init_SDL(); // initialise ( plus haut)
/ / on dessine
rect1.x = 0;
rect1.y = 0;
firstscreen=LoadBMP("img.bmp");
mec[0]=LoadBMP("1.bmp");
mec[1]=LoadBMP("2.bmp");
mec[2]=LoadBMP("3.bmp");

//SDL_SetColorKey(mec[3],SDL_SRCCOLORKEY , SDL_MapRGBA(mec[3]->format,255,0,255,0));
//SDL_SetAlpha(mec[3],SDL_SRCALPHA,128);

while(1)
{
SDL_PollEvent(&); / / récupere l´evenement suivant
if ( event.type == SDL_KEYDOWN && event.key.keysym.sym == SDLK_RETURN) / / si c´est l´appui d´une touche et que C return
break; / / on sort du while.
if ( event.type == SDL_KEYDOWN)
{
if ( event.key.keysym.sym == SDLK_LEFT) rect1.x-=3;
if ( event.key.keysym.sym == SDLK_RIGHT) rect1.x+=3;
if ( event.key.keysym.sym == SDLK_UP) rect1.y-=3;
if ( event.key.keysym.sym == SDLK_DOWN) rect1.y+=3;
}

if ( rect1.x<0) sx=1;
if ( rect1.y<0) sy=1;
if ( rect1.x>950) sx=-1;
if ( rect1.y>650) sy=-1;
SDL_BlitSurface(firstscreen,NULL,screen,NULL); // colle l´image sur l´écran, a la position rect1, donc surtout a x pour la coordonnée x.
SDL_BlitSurface(mec[3],NULL,screen,&1);
SDL_Flip(screen); // affiche la prochaine frame
}
SDL_ShowCursor(1); // reactive la souris
SDL_Quit(); // quitte SDL
return 0; // quitte le programme
}

JeanYvesYves
JeanYvesYves
Niveau 10
18 août 2004 à 16:10:39

SDL_BlitSurface(mec[3],NULL,screen,&1);

pas de ça ! !

mec[3] n´existe pas.
pour le moment met mec[0] a la place, jusqu´a ce que ça marche ( ce sera un mec immobile dans un 1er temps)

ça compile ou pas le listing que tu m´as donné ?
car normalement, mec est déclaré, il ne doit pas gueuler a la ligne du :

mec[0]=LoadBMP("1.bmp");

il compile ? ??

Giga-Nova
Giga-Nova
Niveau 9
18 août 2004 à 16:11:37

la ca compile

JeanYvesYves
JeanYvesYves
Niveau 10
18 août 2004 à 16:15:29

voila, maintenant tu remplaces :

SDL_BlitSurface(mec[0],NULL,screen,&1);

par :

SDL_BlitSurface(mec[(SDL_GetTicks()/500)%3],NULL,s
creen,&1);

essaie, et dis moi ce que tu vois

Giga-Nova
Giga-Nova
Niveau 9
18 août 2004 à 16:18:43

MWAHAHAHAHA lol ! !!!!
bon assez ris mwahahaah ( scuze)
ca enchène les trois img les unes a la suite des autre lol!!!

JeanYvesYves
JeanYvesYves
Niveau 10
18 août 2004 à 16:19:18

ben voila ça marche :)

bon allez, moi j´va prendre un café, je m´absente un moment :)

Giga-Nova
Giga-Nova
Niveau 9
18 août 2004 à 16:24:22

si on peut dire
car il ne doit bouger que quand il avance lol

JeanYvesYves
JeanYvesYves
Niveau 10
18 août 2004 à 16:26:54

alors essaie :

SDL_BlitSurface(mec[(rect1.x/10)%3],NULL,s
creen,&1);

Giga-Nova
Giga-Nova
Niveau 9
18 août 2004 à 16:31:18

tu l´a bu ton café, bien serré car tu as bien travaillé lol

JeanYvesYves
JeanYvesYves
Niveau 10
18 août 2004 à 16:45:05

ouais ça fait du bien :)

Giga-Nova
Giga-Nova
Niveau 9
18 août 2004 à 16:45:46

lol

Giga-Nova
Giga-Nova
Niveau 9
18 août 2004 à 16:49:51

mon perso bouge mais il ne donne vraiment pas l´impésion de marcher

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