CONNEXION
  • RetourJeux
    • Tests
    • Soluces
    • Previews
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Tous les Jeux
  • RetourActu
    • Culture Geek
    • Astuces
    • Réalité Virtuelle
    • Rétrogaming
    • Toutes les actus
  • Black Friday
  • RetourHigh-Tech
    • Actus JVTECH
    • Bons plans
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTECH
  • 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
    • Xbox Series
    • Overwatch 2
    • FUT 23
    • League of Legends
    • Genshin Impact
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • PS4
  • One
  • Switch
  • Wii U
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Etoile Abonnement RSS

Sujet : SDL

DébutPage précedente
123456
Page suivanteFin
lockscash lockscash
MP
Niveau 6
25 mai 2005 à 19:27:53

Déja ya un truc qui va pas ( je trouve).
Corrige tes conditions comme ca

void collisions()
{
if( r2.x == r4.x && r2.y == r4.y && sy==1 && sx==-1)
{sy=1; sx=1;}

if( r2.x == r4.x && r2.y == r4.y && sy==1 && sx==-1)
{sy=1; sx=1;}

if( r3.x == r4.x && r3.y == r4.y && sy==-1 && sx==1)
{sy=-1; sx=-1;}

if( r3.x == r4.x && r3.y == r4.y && sy==-1 && sx==1)
{sy=-1; sx=-1;}
}

Ensuite oublie les ==, uniquement des > et < ou > = et < =.

Donc revoi tes conditions avec ca, il te faudra forcement la hauteur de ton image, les 4 résultats de tes conditions devront être
1, 1
1, -1
-1, 1
-1, -1

correspondant aux 4 directions.

dynoplasmma dynoplasmma
MP
Niveau 9
25 mai 2005 à 21:28:15

Merci loclach mais j´ai trouvé ulterieurement comment gerer les collisions, je me suis mit devant ma feuille, j´ai fait le croquis de ce qu´affichait l´ecran, j´ai mit plein de truc, gribouillé, et je suis arrivé a trouvé comment faire.

Par contre, mon programme a changé malencontreusement, et je l´ai supprimé par ce qu´il affichait plus rien, j´en avait marre de lui, je vais tout recommencer.

Il y a 4 lignes, et j´en met qu´une:

if(r2.x<r4.x>r2.x+l && r2.y<r4.y>r2.y+L && sx==-1 && sy==1)sx=1,sy=1;

Voila, normalement c´est bon, ( j´ai fait 4 lignes il n´y en a qu´une)

l est largeur, L est longueur de la barre.

lockscash lockscash
MP
Niveau 6
25 mai 2005 à 21:43:33

loclach : :rire: :rire2:

Pour de bon je vais écrire un dico avec tout les dérivés de mon pseudo :)

La feuille de papier, les croquis et tout ca c´est le top, moi je peux travailler que comme ca, Les choses sont plus claire.

Sinon j´ai jamais vu de
r2.x < r4.x > r2.x+l
dans une condition, mais si ca marche pourquoi pas. ( je reste sceptique qu´en C++ il accepte ce genre de truc :doute: mais je connais pas tout non plus. )

:p)

dynoplasmma dynoplasmma
MP
Niveau 9
27 mai 2005 à 18:20:27

J´ai essayé mon truc collision, et ca marche pas :snif: il n´y a rien a faire :

void collisions()
{
if(r2.x<r4.x && r4.x<r2.x+10 && r2.y<r4.y && r4.y<r2.y+50 && sx==-1,sy==1)sx=1,sy=1;
if(r2.x<r4.x && r4.x<r2.x+10 && r2.y<r4.y && r4.y<r2.y+50 && sx==-1,sy==-1)sx=1,sy=-1;
if(r3.x<r4.x && r4.x<r3.x+10 && r3.y<r4.y && r4.y<r3.y+50 && sx==1,sy==1)sx==-1,sy=1;
if(r3.x<r4.x && r4.x<r3.x+10 && r3.y<r4.y && r4.y<r3.y+50 && sx==1,sy==-1)sx=-1,sy=-1;
}

La balle fait des diagonales de bas droite a haut gauche, mais rebondit comme ca sur le bas et le haut, et non dans le coin.

r1=image de fond
r2=barre gauche
r3=barre droite
r4=balle

Je pensais vraiment que ca aurait marché, pourtant, :merci: d´avance a ceux qui maitrient la collisions et qui m´aideront.

Fenix[74] Fenix[74]
MP
Niveau 10
27 mai 2005 à 18:29:19

from godrik:

ah les colisions...
il y a des choses a en dire sur les collisions.
dans l´idée ce qu´il faut faire.
tu as un vecteur de deplacement de ton objet.
et la hop, il en touche un autre.
Mais il touche ce dernier objet sur une de ses faces
donc pour faire les choses bien, tu fait que ton objet va jusqu´au mur.
puis tu prend le symetrique de son vecteur deplacement par rapport a la normale de la surface que ton objet a rencontrer.

qu´est ce qui se passe si tu touche deux objets ( disons un coin ? )bah le mieux c´est de prendre comme normale la " moyenne" des normales de tes deux surfaces...

bon, et pour la balle, pour rajouter du fun, tu as interet a en plus rajouter dans le vecteur deplacement l´acceleration de l´objet rencontré ainsi tu peux " changer" la direction de la balle avec la batte...

voila tu sais tout... ( a toi de coder! :) )

dynoplasmma dynoplasmma
MP
Niveau 9
27 mai 2005 à 20:33:46

Mais pourquoi mon code est faux, j´ai passé du temps devant ma feuille, et normalement, mon code devrait fonctionner a merveille.
J´ai un pue ti peu de mal a comprendre ce que tu m´as dit pour faire des collisions, dsl.

PS : j´ai mit :

collisions();

dans la boucle while(bQuit).

lockscash lockscash
MP
Niveau 6
28 mai 2005 à 00:44:03

ce qui est rigolo c´est qu´il ne devrait pas y avoir de coin si tu fais un pong. Mais la n´est pas le problème, la probabilité pour que la balle touche exactement les 2 coins en même temps est moindre, pis dans tout les cas, un programme étant séquentiel il fera une des 2 collisions en premier puis la 2ème après et ne traitera pas les 2 en même temps.

Ensuite il reste des == la où il faut pas.

== :d) Opérateur de COMPARAISON
= :d) Opérateur d´AFFECTATION

Dans l´avant dernier " if", il reste 1 ==

Ta barre restant fixe en coordonnée X, pas la peine de faire un test aussi compliqué :
r2.x<r4.x && r4.x<r2.x+10

Essaye comme ca : ( imaginons que y = 0 est le coin haut gauche, coordonnée windows)

/ /Pour la barre de gauche
if ( r4.x < r2.x && r4.y < r2.y+50 && r4.y > r2.y)
{
sx = -sx; / /si sx=1, sx sera = à -1 et inversement
}
/ /Pas besoin de toucher à la valeur de sy, si la balle descend, bah elle continuera à descendre.

/ /Pour la barre de droite
if ( r4.x > r3.x && r4.y < r3.y+50 && r4.y > r3.y)
{
sx = -sx;
}

Ici tu as juste les conditions pour la balle et la barre, maintenant à toi d´essayer de trouver pour les collisions en haut et en bas avec les limites de ta zone.
Astuce :-))) cette fois ci c´est sx qui ne change pas mais sy.

Bon, je te sors ca comme ca mais je pense pas me planter :)

dynoplasmma dynoplasmma
MP
Niveau 9
28 mai 2005 à 10:18:15

je vais tout de suite essayer :)
:merci: d´avoir repondu si sympament.

dynoplasmma dynoplasmma
MP
Niveau 9
28 mai 2005 à 10:31:20

:content:
Oh... ca marche...
:content:

:merci: enormement lockscash
( cette fois ci, c´est pas locklash)

Je deforme pas les psudos des gens qui m´ont aidés :content:

Bon vent a toi lockscash
A plus !

dynoplasmma dynoplasmma
MP
Niveau 9
28 mai 2005 à 18:17:21

Pourquoi j´ai une petite bande noire en haut et a droite de l´ecran lorsque je lance le jeu pendant le jeu,j´ ai pourtant reconfigurer mon ecran, mais tjs ces bandes noires, qui sait pourquoi ?

dynoplasmma dynoplasmma
MP
Niveau 9
28 mai 2005 à 21:45:39

ba . .. :up:
Sinon, ds les collisions, il y a quelques problemes quand meme, la balle quand elle est dans l´objet, elle va d´un cote a l´autre, je pense qui faut que je mette une barriere en haut de mes raquettes.

Sinon, j´ai changé tous les graphismes, maintenant facon tennis ( je fait du tennis)

dynoplasmma dynoplasmma
MP
Niveau 9
29 mai 2005 à 09:13:40

Sinon, en plus des deux questions precedentes, je ne sais pas comment utiliser differentes pages avec devC++, on peut en mettre plusieurs, mais les relieer :question:

dynoplasmma dynoplasmma
MP
Niveau 9
29 mai 2005 à 21:18:44

Je voudrais sacoir si ds une application SDL, il est possible de rendre inapte ctrl+alt+suppr,
et que pour quitter, l faut appyer sur plusieurs touches au llieu d´une :question:

dynoplasmma dynoplasmma
MP
Niveau 9
29 mai 2005 à 21:34:52

:up:

dynoplasmma dynoplasmma
MP
Niveau 9
29 mai 2005 à 21:59:07

que de queston, ce serais bien d´y repondre, et puis je utiliser des images et des sons copiercoller via internet pour les mettre dans mon jeu ?

Virtuality Virtuality
MP
Niveau 8
29 mai 2005 à 22:01:12

Je voudrais sacoir si ds une application SDL, il est possible de
rendre inapte ctrl+alt+suppr,

LOL c´est le genre de truc qui peut te sauver la vie à n´importe quel moment!
Fais surtout pas ça, il pourra t´être bien utile ainsi qu´aux joueurs ( certains pc ont la magnie de planter tout le temps).

lockscash lockscash
MP
Niveau 6
30 mai 2005 à 00:32:45

De toute facon je pense pas qu´il soit possible de passer outre ce raccourci :)

First, Ya pas de quoi pour l´aide :-)))

Si tu partagé le jeu ca serai cool, car le problème de la bande noire, ben j´en sais rien du tout et je comprend pas trop le truc :(

Pour la balle qui va d´un coté à l´autre, c´est pas super bien explicite, mais il est possible que tu ne teste pas la collision au bon moment. Normalement à l´instant ´t ´ tu teste la collision sur où seront les objets à l´instant ´t+1 ´ et SI il n´y a pas de collision, alors tu bouge tes objets, dans le cas contraire, tu fait le necessaire pour éviter un bug :p)

Je connais pas DevC++ donc je peux rien pour ton histoire de page.

Ton PONG n´étant pas réservé pour une futur vente ( je pense), tu peux prendre les sons que tu veux mais si tu distribue ton jeu alors il faudra avertir les auteurs des sons ou images s´il y a un copyright dessus. Mais beaucoup de sons et images sont libres sur le net :-)))

godrik godrik
MP
Niveau 26
30 mai 2005 à 12:49:51

sisi c´est possible de passer outre ctrl+alt+suppr dans les faux windows ( j´entend 9x), il suffit de hooker le clavier et explorer n´y voit rien.

dans les post 9x c´est beaucoup plus difficile mais c´est possible quand meme, regarder dans la doc de directx, il y a quelquechose sur le passage en mode plein ecran qui permet de faire cela.
mais apres je vais poser la grande question:
" pourquoi veux tu faire un truc pareil ? ???"
c´est une porte de sortie quandton application delire, pourquoi veux tu l´empecher ?

dynoplasmma dynoplasmma
MP
Niveau 9
30 mai 2005 à 18:16:20

Tout d´abord, bonjour, En fait je veux bloquer ctrl+alt+suppr pour un petit programme, qu quand j´utilise l´ordinateur, et que je pars 5 minutes, que personne de ma famille puisse fourer son nez dans mes programmes ou meme fermer ma session, voila tout, et pour quitter, beaucoup de touches pour que que moi puisse l´etaidre.

Je vais re ecrire mes questions :

1_ bandes noires :

Quand j´execute mon programme, l´image qui est normalement plein ecran ne l´est pas tout a fait, une bande de 2 cm en haut et a droite noir est toujours presente, et je voudrais savoir si il n´y a que mon PC qui fait cela, donc je laisse comme ca, ou alors, tous les PC font cela, donc je rajoute des barres en bas et a gauche.
La configuration de mon ecran n´a rien a voir dans tout cela.

_______________________________________________

2_ collisions :

Quand la balle arrive par le haut de ma raquette, comme sx=-sx dans cette zone, la balle fait x,-x,x,-x a perpet jusqu´a ce que j´enleve la raquette de son emprise, mais je croit avoir trouvé le probleme, je mettrais une barriere collision en haut et en bas de la raquette.

_______________________________________________

3_ differentes pages :

Je voudrais regrouper dans un fichier dev les chargements d´images, dans un autre les menus, en utilisant plusieurs pages, mais les relier entre elles sous dev C++.

________________________________________________

4_ images et sons :

En fait, j´aimerais bien vendre mon jeu ( prime tres petit se comptant en centimes)
Je ne ferais pas qu´un simple pong, mais un jeu orienté tennis, avec pleins de modes differents, simple, double, et le nombres de joueurs VS l´ordi. A 4 joueurs humains, ca doit etre asser fun.
Donc, je dois soit faire mes propres images, soit demander l´autorisation, mais es ce que l´autorisation est payante, j´ai deja entendu parler des droits d´auteur.

_______________________________________________

Voila finit mon baratin, et merci pour vos reponses anterieurs et peut etre vos reponses posterieurs.

dynoplasmma dynoplasmma
MP
Niveau 9
30 mai 2005 à 18:50:32

plus de robleme de collisions, j´ai virer :
r4.y>r3.y

DébutPage précedente
Page suivanteFin
Répondre
Prévisu
?
Victime de harcèlement en ligne : comment réagir ?
La vidéo du moment