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

Tkinter Python Discussion :

Collision barre / balle


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Août 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 7
    Points : 10
    Points
    10
    Par défaut Collision barre / balle
    Bonjour, actuellement sur un projet de pong, je me heurte au problème de collision entre ma balle et ma barre, je sais de quelle manière faire rebondir ma balle puisque que je l'ai déjà fait avec les murs de ma zone de jeu mais je ne connais pas de commande me permettant de traduire la phrase : "Si la boule entre en collision avec les coordonnées de la barre (la commande que je cherche), alors faire rebondir la boule (là je sais comment faire)"
    Je précise que la barre en question est mobile, et c'est la tout le problème puisque ses coordonnées ne sont pas fixes sur l'axe Y...

    La phrase "Si la boule entre en collision avec l'objet barre (la commande que je cherche), alors faire rebondir la boule (là je sais comment faire)" est d'ailleurs équivalentes si ça peut vous guider sur ce que je cherche.

    Merci d'avance pour l'aide apportée

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 235
    Points : 36 684
    Points
    36 684
    Par défaut
    Salut

    Citation Envoyé par LockStratos Voir le message
    La phrase "Si la boule entre en collision avec l'objet barre (la commande que je cherche), alors faire rebondir la boule (là je sais comment faire)" est d'ailleurs équivalentes si ça peut vous guider sur ce que je cherche.
    La boule a un centre et un rayon voire une "bounding box" i.e. des coordonnées x0, y0, x1, y1 définissant le rectangle qui la contient.
    Sur l'axe des Y, y0 sera toujours supérieur à un y_min et y1 sera toujours inférieur à un y_max.
    Dans le cas contraire, c'est qu'il y a "collision".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Homme Profil pro
    Etudiant
    Inscrit en
    Août 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Qu'entendez vous exactement par le rectangle qui contient la balle, cette "bounding box" ?

    Pour ce qui est des coordonnées x0,y0,y1,x1 c'est une chose que j'avais déjà en tête, je vois ce que vous voulez dire mais je ne peux l'appliquer que si la barre est fixe à un point de certaines coordonnées, le fait est qu'ici la barre en question est en mouvement, un mouvement que le joueur dirige lui même donc un mouvement irrégulier.

    Merci de votre réponse.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 235
    Points : 36 684
    Points
    36 684
    Par défaut
    Salut,

    Citation Envoyé par LockStratos Voir le message
    Qu'entendez vous exactement par le rectangle qui contient la balle, cette "bounding box" ?
    Vous êtes dans le forum tkinter et bien que vous n'ayez posté aucun code montrant comment vous vous y prenez, on peut supposer que vous utilisez des "items" d'un Canvas. bbox (bounding box) est une méthode du canvas qui permet de retourner le "rectangle" englobant item ou tag.

    Citation Envoyé par LockStratos Voir le message
    Pour ce qui est des coordonnées x0,y0,y1,x1 c'est une chose que j'avais déjà en tête, je vois ce que vous voulez dire mais je ne peux l'appliquer que si la barre est fixe à un point de certaines coordonnées, le fait est qu'ici la barre en question est en mouvement, un mouvement que le joueur dirige lui même donc un mouvement irrégulier.
    oui, enfin, l'ordinateur rend compte de ces mouvements irréguliers en fonction des actions de l'utilisateur.
    Il y a largement le temps de calculer s'il y a ou pas collision sans que l'utilisateur ne s'en aperçoive...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Pas de grille adéquate: collision disque/balle + demo
    Par carton99 dans le forum Physique
    Réponses: 1
    Dernier message: 17/07/2013, 03h23
  2. Réponses: 6
    Dernier message: 07/12/2008, 01h50
  3. collisions entre des balles
    Par BastienCil dans le forum ActionScript 3
    Réponses: 3
    Dernier message: 27/09/2008, 20h21
  4. Arkanïde Collision boule / barre
    Par Sethouille dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 30/05/2007, 21h04
  5. Physique : Balle + barre : rebond elastique
    Par CaptainChoc dans le forum Physique
    Réponses: 24
    Dernier message: 05/04/2007, 07h44

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