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] questions sur pong

sonic66
sonic66
Niveau 10
19 août 2005 à 13:37:29

( blit c´est mettre?)

Vengeur41
Vengeur41
Niveau 10
19 août 2005 à 13:38:11

blit c´est : copier telle surface, sur une telle autre surface a telles coordonnées.

Virtuality
Virtuality
Niveau 8
19 août 2005 à 13:40:15

Mais l´image de fond, c´est simplement celle que tu blit en premier...

sonic66
sonic66
Niveau 10
19 août 2005 à 13:44:18

Ca yest! mais il y a un probleme , le decors bouge en meme temps que le pong ( normal le rectangle du decors est le meme que celui du pong et donc a comme coordonnée y la variable qui fait bouger le pong) alors je doit faire un autre rectangle pour le decors ou ya un autre moyen?

Vengeur41
Vengeur41
Niveau 10
19 août 2005 à 13:48:08

Tu remet toujours à 0 les coordonées du rectangle :)

sonic66
sonic66
Niveau 10
19 août 2005 à 13:54:03

http://rafb.net/paste/results/BZ9Kko77.html

ca compile mais ca affiche rien :-(

Vengeur41
Vengeur41
Niveau 10
19 août 2005 à 13:59:17

Normal.

Toi tu fais :

coordonées
coordonnées
coordonnées
blit
blit
blit
flip

Donc tous tes blits se font aux memes coordonnées !

Il faut faire:
coordonnées
blit
coordonnées
blit
coordonnées
blit
flip

ET pourquoi tu blit sur " surface" ?
Faut blitter sur imgpong1 puisque c´est ta surface primaire !
Mais après ca ne l´est plus puisque tu charge un bmp dedans après !
C´est n´importe quoi lol !

Vengeur41
Vengeur41
Niveau 10
19 août 2005 à 14:04:04

Enfin bref , voilà :
http://rafb.net/paste/results/7Dd1WN82.html

sonic66
sonic66
Niveau 10
19 août 2005 à 14:22:59

bah j´ai changé tout si tu regarde bien ^^
j´utilise surface comme surface primaire maintenant! :)
ca fait plus logique non? :)

sonic66
sonic66
Niveau 10
19 août 2005 à 14:25:58

Pour mes histoire de rectangle , j´en fait plusieurs car aucune image n´a les meme coordonnée!

JeanYvesYves
JeanYvesYves
Niveau 10
19 août 2005 à 14:31:49

vengeur a raison.
Cependant, un bémol : il te dit, avant tout, d´effacer l´écran ( en le remplissant en noir)
c´est une opération couteuse, bien sur, mais souvent primordiale.... dans le cas ou tu ne blit pas de partout !

Dans ton cas, tu blit ton image de fond sur l´écran entier : donc de toute façon, tu remplaces 100% de ton ancien écran.
De ce fait, il est inutile de faire le fillrect dans ton cas.

sonic66
sonic66
Niveau 10
19 août 2005 à 14:36:03

ok , et j´ai compilé le code que m´a arrangé vengeur , bah ya eu un enorme bug!

et jyy , j´ai mal compris comment je ne peut utiliser qu´un rectangle avec des coordonnées differente pour chacun des trois objets... :-(

sonic66
sonic66
Niveau 10
19 août 2005 à 14:51:30

a ben lol
en fait vengeur avait mit la ligne
init();
DANS la fonction init....

sonic66
sonic66
Niveau 10
19 août 2005 à 14:57:15

La je vais arranger la fonction bouger mais j´ai encore un probleme :-(

quand j´appuis sur la fleche bas , le pong decend en bas mais appres il s´arrete de bouger meme si je laisse appuyer! et pour un pong c´est un peu genant ca ^^

http://rafb.net/paste/results/a2swU344.html

Moule53
Moule53
Niveau 10
19 août 2005 à 15:11:27

Un peu d´autonomie serait souhaitable . ..

sonic66
sonic66
Niveau 10
19 août 2005 à 15:13:15

Bah ecoute , la j´ameliorem on code seul mais ya des trucs ou je connait rien

Moule53
Moule53
Niveau 10
19 août 2005 à 15:22:51

Continue a lire des tutos, je ne vois pas l´interet de faire un programme si 80% du code est fait par les autres .
De meme il est toujours plus agréable de savoir ce qu´il ce passe dans son programme .

sonic66
sonic66
Niveau 10
19 août 2005 à 15:31:22

A la je suis désolé!
j´ai fait au moin 80% du travail!
j´ai reussi a mettre seul le pong et le faire bouger!
de meme pour les deux image
apres , on m´a aider pour certains trucs comme le clignotement et l´ordre des blits...

Vengeur41
Vengeur41
Niveau 10
19 août 2005 à 15:38:58

Non mais pour les rectangles c´est pas la peine d´en faire 3 si 3 images ont 3 coord différentes, toi tu fais ca :

---
SDL_Rect rect1, rect2, rect3;
. ..
rect1.x=25;
rect1.y=200;
SDL_BlitSurface(masurface, NULL, screen, &rect1);
rect2.x=42;
rect2.y=127;
SDL_BlitSurface(masurface, NULL, screen, &rect2);
rect3.x=72;
rect3.y=89;
SDL_BlitSurface(masurface, NULL, screen, &rect3);
---

Mais meme si chaque image a une coordonnée différent, tu peux réutiliser ton rectangle !

---
SDL_Rect rect;
. ..
rect.x=25;
rect.y=200;
SDL_BlitSurface(masurface, NULL, screen, &rect);
rect.x=42;
rect.y=127;
SDL_BlitSurface(masurface, NULL, screen, &rect);
rect.x=72;
rect.y=89;
SDL_BlitSurface(masurface, NULL, screen, &rect);
---

La différence : Occupe 3x moins de place en mémoire.

Désolé pour le bug que je t´ai refilé mais la partie init etait pas le truc le plus important à corriger ( mais il etait moche quand meme).

Maintenant, débrouille toi.

Petites piste :
->Ta boucle de jeu est moche
->Teste plutot tes touches avec SDL_GetKeyState()
->Met une fonction de libération de mémoire au quit
->Donne des noms explicites aux variables et aux fonctions !

Voilà, bonne chance !

Virtuality
Virtuality
Niveau 8
19 août 2005 à 15:56:22

Ben, franchement, je préfére avoir 3 rectangles.

Lapintade le dis toujours, faut pas mélanger l´affichage avec le reste du code.

Hors si tu fais ça, ben c´est pas possible...

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