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++

Moule53
Moule53
Niveau 10
13 juillet 2005 à 17:56:31

Mais non, suffit de melanger correctement, tu initialise Sdl et FMod, ensuite tu fais les actions requis et c´est tout :)

BudoFan
BudoFan
Niveau 4
13 juillet 2005 à 17:57:21

J´suis débutant < _<

JeanYvesYves
JeanYvesYves
Niveau 10
13 juillet 2005 à 17:58:25

BudoFan > tu te bases sur un tuto de SDL, ensuite tu essaies, dans ton code, de placer des fonctions de FMOD. Il faut que tu y arrives tout seul, le but, c´est que tu comprennes bien ce que tu fais !

Ensuite, pour compiler c´est simple :
tu mets les include de sdl et de fmod l´un apres l´autre, et pour les lib, tu mets et les -lsdl et aussi le -lfmod . ...

et tu mets les 2 dll dans le projet, allez roule :)

zyxom
zyxom
Niveau 7
13 juillet 2005 à 17:59:43

Pourquoi vous voulez pas m´aider avec ce truc de " Fmod" . ..? :snif2:

JeanYvesYves
JeanYvesYves
Niveau 10
13 juillet 2005 à 18:09:24

Pourquoi vous voulez pas m´aider avec ce truc de " Fmod"
--> parce que tu ne me dis pas l´endroit ou tu coinces.

zyxom
zyxom
Niveau 7
13 juillet 2005 à 18:15:03

Mais ouais, je l´ai dit. and je le compile, il me met SDL/SDL.h not found, bla bla bla... Et là, vous m´avez dit de prendre Fmod. J´y comprends rien moi!

BudoFan
BudoFan
Niveau 4
13 juillet 2005 à 18:18:53

Voilà ! J´ai fais de mon mieux et j´ai eu que 4 erreurs(C´est bien pour un début lol)

Voilà mon code :

  1. include < SDL/SDL.h>
  2. include < stdio.h>
  3. include < stdlib.h>
  4. include < fmod/fmod.h>

SDL_Surface* screen; // l´ecran principale
SDL_Surface* firstscreen; / / tampon temporaire
SDL_Event event; // gestion d´evenement
FMUSIC_MODULE * f; / / pour les mids
FSOUND_STREAM* g; / / pour les wav/mp3

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

void waitkey() // attend qu´on appuie sur RETURN
{
while(1) // boucle
{
while(SDL_PollEvent(&)) // aquisition d´evenement
{
if ( event.type == SDL_KEYDOWN) / / on appuie sur une touche ?
{
if ( event.key.keysym.sym == SDLK_RETURN) return; / / c´est " RETURN" ?
}
}
}
}

int main(int argc , char **argv)
{
FSOUND_STREAM* g2;
int r;
FSOUND_Init(44100, 32, 0);
FSOUND_SetOutput(FSOUND_OUTPUT_DSOUND);
FSOUND_SetDriver(0);
f = FMUSIC_LoadSong("./smb.mid");
g =
FSOUND_Stream_Open("./test.mp3",FSOUND_LOOP_NORMAL
, 0,0);
g2 = FSOUND_Stream_Open("./test.mp3",0, 0,0);
r = FSOUND_GetError ( );
FSOUND_Stream_Play(0,g);
FMUSIC_FreeSong(f);
firstscreen = SDL_LoadBMP("image.bmp"); // charge l´image
/ / on dessine
rect1.x = 0;
rect1.y = 0;
rect1.w = 1024; // défini le rectangle
rect1.h = 768;

SDL_BlitSurface(firstscreen,NULL,screen,&1); /
/ colle l´image sur l´écran, NULL car on affiche TOUTE l´image
SDL_Flip(screen); // affiche la prochaine frame
waitkey(); // attends qu´on appuie sur Return ( plus haut)
SDL_ShowCursor(1); // reactive la souris
SDL_Quit(); // quitte SDL
return 0; // quitte le programme
}

Et les erreurs :

C:\Progs\ImageEtMusique\main.cpp In function `int SDL_main(int, char**)´:

48 C:\Progs\ImageEtMusique\main.cpp `rect1´ undeclared ( first use this function)

( Each undeclared identifier is reported only once for each function it appears in.)

C:\Progs\ImageEtMusique\Makefile.win [Build Error] [main.o] Error 1

BudoFan
BudoFan
Niveau 4
13 juillet 2005 à 18:20:32

Je redonne mon code, j´ai l´impression que y´a eu des erreurs quand je l´ai collé < _<

  1. include < SDL/SDL.h>
  2. include < stdio.h>
  3. include < stdlib.h>
  4. include < fmod/fmod.h>

SDL_Surface* screen; // l´ecran principale
SDL_Surface* firstscreen; / / tampon temporaire
SDL_Event event; // gestion d´evenement
FMUSIC_MODULE * f; / / pour les mids
FSOUND_STREAM* g; / / pour les wav/mp3

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

void waitkey() // attend qu´on appuie sur RETURN
{
while(1) // boucle
{
while(SDL_PollEvent(&)) // aquisition d´evenement
{
if ( event.type == SDL_KEYDOWN) / / on appuie sur une touche ?
{
if ( event.key.keysym.sym == SDLK_RETURN) return; / / c´est " RETURN" ?
}
}
}
}

int main(int argc , char **argv)
{
FSOUND_STREAM* g2;
int r;
FSOUND_Init(44100, 32, 0);
FSOUND_SetOutput(FSOUND_OUTPUT_DSOUND);
FSOUND_SetDriver(0);
f = FMUSIC_LoadSong("./smb.mid");
g =
FSOUND_Stream_Open("./test.mp3",FSOUND_LOOP_NORMAL
, 0,0);
g2 = FSOUND_Stream_Open("./test.mp3",0, 0,0);
r = FSOUND_GetError ( );
FSOUND_Stream_Play(0,g);
FMUSIC_FreeSong(f);
firstscreen = SDL_LoadBMP("image.bmp"); // charge l´image
/ / on dessine
rect1.x = 0;
rect1.y = 0;
rect1.w = 1024; // défini le rectangle
rect1.h = 768;

SDL_BlitSurface(firstscreen,NULL,screen,&1); /
/ colle l´image sur l´écran, NULL car on affiche TOUTE l´image
SDL_Flip(screen); // affiche la prochaine frame
waitkey(); // attends qu´on appuie sur Return ( plus haut)
SDL_ShowCursor(1); // reactive la souris
SDL_Quit(); // quitte SDL
return 0; // quitte le programme
}

BudoFan
BudoFan
Niveau 4
13 juillet 2005 à 18:21:09

Ah nan < _< En fait, c´est que tout les trucs viennent à gauche les éspaces dissparaissent...

JeanYvesYves
JeanYvesYves
Niveau 10
13 juillet 2005 à 18:29:12

Bon, tous les deux :

Je pense, ne le prenez pas mal, que vous avez brulé des étapes : vous avez foncé sur les tutos graphiques sans avoir le niveau de gérer cela.
Il faut que vous reveniez plus longuement sur la partie 1.

Ensuite, pour vos erreurs : SDL/sdl.h not found, ça veut dire ce que ça veut dire ! ! tu as mis les . h au mauvais endroit !
Et variable undeclared, c´est parce que tu ne l´as pas déclarée...

Vous brulez les étapes, vous n´avez pas encore le niveau de foncer la dedans, je regrette ! !

Consolidez vos bases.

JeanYvesYves
JeanYvesYves
Niveau 10
13 juillet 2005 à 18:31:05

BudoFan > je vais etre désagréable, mais en voyant ton code, je vois que tu ne comprends absolument pas ce que tu fais : tu fais des load et des free de son n´importe quand, tu n´initialises pas le mode graphique, tu as copié collé n´importe comment les 2 tutos... Revois tes bases !

BudoFan
BudoFan
Niveau 4
13 juillet 2005 à 18:40:32

JeanYvesYves, je n´ai pas appris ce dont je n´avais pas besoin!

JeanYvesYves
JeanYvesYves
Niveau 10
13 juillet 2005 à 19:14:26

Comment peux tu savoir ce dont tu as besoin ou non ?
qu´as tu mis de coté ?

nulissimo
nulissimo
Niveau 4
13 juillet 2005 à 20:46:05

Mdr... Le type qui veut bruler les etapes et qui s´attaque a un truc vachement compliqé sans rien comprendre ^^

J´ai pas de solutions a te donner; j´ai mes problemes persos :

On commence par la source :
http://www.libsdl.org/cgi/docwiki.cgi/SDL_20API
( les codes des differents evenements clavier en SDL)

Bon, j´utilise le ZQSD pour gerer un projet 2 joueurs. Le probleme est que pour le q, il faudrait que je mette a et pour le z, le w ( je crois). Ca fait comme si j´avait un clavier qwerty sauf que c´est un azerty. Je crois me souvenir qu´il y a pas mal de choses differentes donc je suis pas sur d´employer cette methode. Est ce que ce que je vais faire est la bonne methode ou il y a une autre astuce :question:

Moule53
Moule53
Niveau 10
13 juillet 2005 à 21:06:37

Utilise ESDF :)
C´est la meme chose

nulissimo
nulissimo
Niveau 4
13 juillet 2005 à 21:23:44

mdr.

Je parlais pas de ca, mais d´utiliser une fonction, librairie ou bibliotheque ( deja écrite, j´ai la flemme) pour transferer le clavier d´un azerty au qwerty et inverse.

sonic66
sonic66
Niveau 10
13 juillet 2005 à 21:26:04

voila , j´ai vu qu´on pouvait faire une reference en dehors d´une fonction , mais g deux question :
faut til la declarer comme un pointeur au debut
( int *a) ou pas? et si g bien compris , ca sert a ce que la reference ait ladresse de la variable?

du genre

&=b;
egal
a=adressedeb

dnob700
dnob700
Niveau 10
13 juillet 2005 à 21:44:20

c´est presque ça sauf qu´il faut faire :

a=& car & c´est l´adresse de b. Et c´est bien a qui a comme valeur l´adresse de b.

sonic66
sonic66
Niveau 10
13 juillet 2005 à 21:50:27

mais , si on parle de reference , c pareil?

car a la base , c la notion de reference dans les fractions

Ptival
Ptival
Niveau 10
13 juillet 2005 à 22:36:56

Dnob700 ->

Ce que tu dis :

int a = &

C´est plutôt un pointeur qu´une référence ça ?
Je veux dire que l´identifiant a ne mène pas à b mais à son adresse...

Une référence c´est plutôt :

int & = b;

Non ?

( à noter que de mémoire, une référence doit être définie à sa déclaration)

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