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

JeanYvesYves
JeanYvesYves
Niveau 10
21 juillet 2004 à 16:23:11

non, si tu fais ça tu testes s´ils sont superposés :)

un bon test est de tester que rect2.x est entre rect1.x et rect1.x+rect1.width
et pareil pour les y

mais c´est quasi tout aussi simple.
Je te déconseille l´égalité dans ce cas : test avec des < et >

lalelale
lalelale
Niveau 5
21 juillet 2004 à 17:16:38

Alors :

C´est quoi ce . width?
je peux mettre dans un if un truc du genre
if(rect2.x>rect1.x+rect1.width)
?

Sinon, j´ai essaye de mettre ca pour le changement de fond d´écran.

if(recta.x>800)
{while(1)

{SDL_PollEvent(&);
homme1=LoadBMP("a.bmp");
firstscreen=LoadBMP("decors.bmp");
SDL_BlitSurface(firstscreen,NULL,screen,NULL);
SDL_BlitSurface(homme1,NULL,screen,&);
SDL_Flip(screen);}

Donc, je précise. recta est le gars que tu fais bouger et normalement c´est image.bmp le decor, mais la c´est decors.bmp . En fait, mon probleme, c´est que lorsque ca affiche le nouveau fond d´écran, l´ordi LAGUE A MORT ( j´ai pourtant un 1800+ avec une radeon 9000). Alors, je me suis debrouille pour retrecir le fond d´écran pour que je voie si l´ancien n´a pas été écrasé. Eh ben je crois que c´st de là qyue viens mon prob´. Lorsque ca charge le nouveau, ca n´ecrase pas l´ancien ! ! Comment je fais?

JeanYvesYves
JeanYvesYves
Niveau 10
21 juillet 2004 à 17:18:30

tu verras que ça lagguera moins le jour ou tu n´appelleras pas de Load dans la boucle principale....
Est ce que tu te rends compte qu´a chaque fois que ton ordi calcule une image, tu lui demande de la recharger depuis le disque ? ???

lalelale
lalelale
Niveau 5
21 juillet 2004 à 17:20:15

int getTypeHache()
{
return type;
}
Ca sert à quoi ca? Je m´en sers comment?

lalelale
lalelale
Niveau 5
21 juillet 2004 à 17:29:04

Ah oui, j´avais oublié pour ca. Mais, comment je fais pour le fond d´écran? Parceque, s´il change seulement lorsque x>800, comment il sait l´ordi pour que ce ne soit plus le même si je le met pas dans la boucle?

Je veux dire, si jamais en tps normal c image.bmp et qu´après c´est decors, il fait comment l´ordi pour savoir lequel ça devient? Je ne peux pas mettre en dehors des boucles
firstscreen=LoadBMP("image.bmp");
firstscreen=LoadBMP("decors.bmp");

Sinon, lorsque je le blit, ca ne sait pas lequel prendre non?

JeanYvesYves
JeanYvesYves
Niveau 10
21 juillet 2004 à 18:02:30

tu définis une variables qui va te dire lequel est actuellement présent :
tu veux faire un écran qui s´affiche quand tu es avant 800, et un autre quand tu es apres 800 c´est ça ?

int ecranactuel=1; / / le 1er, celui de < 800
firscreen=LoadBMP("premier.bmp");
while(1)
{
if ( ecranactuel==1 && x>800)
{
SDL_freesurface(firstscren); / / important
SDL_loadBMP("deuxieme.bmp");
ecranactuel=2;
}
if ( ecranactuel==2 && x<=800)
{
SDL_freesurface(firstscren); / / important
SDL_loadBMP("premier.bmp");
ecranactuel=1;
}
. ..

}

Comme ça, ça charge qu´une fois, si tu en as besoin...
l´autre astuce consiste a les mettres tous 2 en mémoire d´entrée, mais bon, apres, si tu as 50 écrans, tu fais exploser ta mémoire...
D´ou l´interet de mettre des freesurface ! !!
pour la libérer

lalelale
lalelale
Niveau 5
21 juillet 2004 à 22:07:38

C´estbon! Ca marche pour le fond d´écran.

Par contre, pour la gestion des collisions, je n´ai pas bien compris!!

Et, ca veut dire quoi
GetTypeHache

Ce qu´avait mis conker.

JeanYvesYves
JeanYvesYves
Niveau 10
21 juillet 2004 à 22:09:21

ben demande lui :)

JeanYvesYves
JeanYvesYves
Niveau 10
21 juillet 2004 à 22:09:51

Youpi ! !! 5000eme message ! !!! :) ( désolé pour le HS)

_[CONKER]_
_[CONKER]_
Niveau 10
21 juillet 2004 à 22:22:34

Félicitations :).
Pour la fonction GetTypeHache(), ça s´utiliserait comme ça :
Tu as une classe hache. Par exemple ça :

class Hache
{
public:
/ / Divers fonctions public.
int getTypeHache(); / / retourne le type de hache.
private:
/ / Divers attributs ou fonctions membres private.
int type; / / type de hache.
};

Après dans hache.cpp :

Hache::getTypeHache()
{
return type;
}

Et tu l´utiliserais comme ça dans le fichier principal par exemple :

int typeDeHache = 0;
Hache objetHache(...);
/ / Divers instructions.
/ / Récupérer le type de hache.
typeDeHache = objetHache.getTypeHache();

Tout simple :).

_[CONKER]_
_[CONKER]_
Niveau 10
21 juillet 2004 à 22:23:54

Oulah, la vilaine faute. Je corrige :

Dans hache.cpp :

int Hache::getTypeHache()
{
return type;
}

Etourdissement quand tu nous tiens.. :)

lalelale
lalelale
Niveau 5
21 juillet 2004 à 22:36:55

Franchement, exucse moi, mais je n´ai opas compris^^. En fait, je n´i pas vrmt compris à quoi ca sezrvait? Et le gettype, c´est obliogatoire, ou c´est jeuste que tu l´apellles comme ça pour t´amuser?*

Putain, je suis nul LOL.(no ironic inside )

_[CONKER]_
_[CONKER]_
Niveau 10
21 juillet 2004 à 22:50:24

Bah, comme le type de la hache est private, les autres fonctions membres ne pourront pas y accéder, donc si tu veux l´obtenir, tu es obligé de passer par une fonction membre public. C´est plus propre de faire ainsi, ça t´empêche de faire n´importe quoi. Si le type de hache était public, tu pourrais la modifier à partir de n´importe où à n´importe quel moment :).

_[CONKER]_
_[CONKER]_
Niveau 10
21 juillet 2004 à 22:51:05

" les autres fonctions membres ne pourront pas y accéder"

> Correction : les fonctions membres des autres classes ne pourront pas y accéder, qu´on se comprenne :).

lalelale
lalelale
Niveau 5
21 juillet 2004 à 22:58:25

Ah d´accord!!
Ok merci!!

lalelale
lalelale
Niveau 5
21 juillet 2004 à 23:27:47

C´estbon! Ca marche pour le fond d´écran.

Par contre, pour la gestion des collisions, je n´ai pas bien compris!!

Et, ca veut dire quoi
GetTypeHache

Ce qu´avait mis conker.

lalelale
lalelale
Niveau 5
21 juillet 2004 à 23:29:09

Beuh, qu´est ce que ca m´a fait? Ne prenez pas en consideration le dernier message que j´ai mis!!

_[CONKER]_
_[CONKER]_
Niveau 10
21 juillet 2004 à 23:29:24

c´est un mélange anglais/français lol.. Get qui veut ici dire " récupérer", donc récupérer le type de hache :).

_[CONKER]_
_[CONKER]_
Niveau 10
21 juillet 2004 à 23:29:41

trop tard.

airazor
airazor
Niveau 1
22 juillet 2004 à 03:09:02

Salut g envie de créé un jeu dbz avec rpgmaker2003
mais je n´ai pas de méchan avec qui me battre alor gmerai que tu me donne un lien pour en avoir ou sinon donne moi en merci d´avance jvoudrai des freezer cell . ................... merci beaucoup

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