IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

jeu casse brique::implémenter intersection balle avec la barre


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 33
    Points
    33
    Par défaut jeu casse brique::implémenter intersection balle avec la barre
    Bonjour

    je suis entrain de faire un casse brique,seulement je ne sais pas comment implémenter intersection de la balle avec la barre

  2. #2
    Membre régulier
    Inscrit en
    Août 2008
    Messages
    135
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 135
    Points : 83
    Points
    83
    Par défaut
    ben moi non plus, mais peu etre que si tu expliquer comment tu gere la posistion de la bare et le mouvemet de la balle?? on pourrai de donner quelque chose de plus adequoit pour ton cas.

    et l'intersection avec les brique, ca peut pas t'aidee ou c'est pas encore fais.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 6
    Points : 9
    Points
    9
    Par défaut
    En gros, on pourrait imaginer que quand l'ordonnée la plus basse de la balle passe en dessous de l'ordonnée la plus haute de la barre et que l'abscisse de ta balle est dans l'intervalle de celles qui définissent ta barre, alors il y a contact et tu renvoies la balle dans l'autre sens. ( avec une déviation alpha)

  4. #4
    Membre éclairé Avatar de befalimpertinent
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2007
    Messages : 561
    Points : 833
    Points
    833
    Par défaut
    Pour permettre une bonne évolution si tu change la forme de la barre ou de la balle, tu devrais utiliser le concept de boite englobante. Fais une classe BoundedBox définissant des rectangles du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    class BoundedBox
    {
    private:
    float x1,y1;//coordonnees du coin haut gauche
    float x2,y2;//coordonnees du coin bas droite
    };
    Et en définissant un membre BoundedBox dans tes classes Balle et Barre.

    EDIT: si ta balle est déjà un rectangle et qu'elle ne changera pas. Oublies tout ça
    Linux > *

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 372
    Points : 23 628
    Points
    23 628
    Par défaut
    Citation Envoyé par sarainformatique Voir le message
    je suis entrain de faire un casse brique,seulement je ne sais pas comment implémenter intersection de la balle avec la barre
    Deux manières assez similaires de voir les choses :

    - Soit tu raisonnes d'un point de vue global, et tu définis des « frontières » rectangulaires au sein desquels tes objets se trouvent (balle, raquette, etc.). Là, tu n'as besoin que de vérifier si des rectangles se chevauchent, ce qui est relativement facile ;

    - Soit, tu considères la balle et la raquette en particulier. Sachant que cette dernière ne se déplace que vers la droite ou la gauche, elle reste sur la même ligne. Tu regardes donc si ta balle est sur le point de franchir la ligne en question (en descente) et si c'est le cas, tu vérifies si les bords de la raquette se trouvent de part et d'autre de la balle.

    Quand tu as vérifié çà, tu sais si la balle est oui ou non sur la raquette, et tu n'as pas besoin d'aller voir si c'est le cas graphiquement, à l'écran.

  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Que ce soit en 2D ou en 3D, voici comment on gère les collisions :
    - Soit tu testes pour tous les autres objets de la scène si ton objet est en collision avec
    - Soit tu utilises un index spatial pour ne pas avoir à tout tester.

    Après, il est possible que ce soit plus facile dans certains cas.
    Boost ftw

  7. #7
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Ne pas oublier la variable temps....

    Le franchissement pouvant avoir lieu entre deux occurences de la gestion de la physique...

    Mais bon... l'intersection entre un cercle mobile dans le temps à trajectoire rectiligne et un rectangle qui ne peut bouger qu'horizontalement, ça se limite à un test de collision statique entre une capsule et un rectangle, qu'on peut trouver facilement sur google
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Android] [JEU] Casse Brique Minimaliste
    Par Apprentice.Soft dans le forum Mon application mobile
    Réponses: 8
    Dernier message: 04/06/2016, 08h46
  2. Jeu casse brique avec Unity
    Par tetelh08 dans le forum Développement 2D, 3D et Jeux
    Réponses: 21
    Dernier message: 10/02/2013, 20h00
  3. probleme jeu casse brique
    Par benji84710 dans le forum VB.NET
    Réponses: 5
    Dernier message: 03/11/2011, 22h24
  4. pb de balle pour un casse brique en c++ builder5
    Par projetersi dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 19/04/2007, 11h37
  5. Button "Start" dans un jeu de casse brique
    Par tex78 dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 24/01/2006, 15h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo