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 :

Aide rectangle soit zone interdite pour pion


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Mars 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mars 2014
    Messages : 1
    Par défaut Aide rectangle soit zone interdite pour pion
    Bonjour,
    J'essaie de faire un jeu à plateforme, je débute dans Tkinter, et j aimerais que mon pion ne puisse pas traverser le rectangle qui sert de plateforme, ca m arrangerais bien si quelqu un pouvait me donner quelque pistes !
    Merci
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par valentine96 Voir le message
    Bonjour,
    J'essaie de faire un jeu à plateforme, je débute dans Tkinter, et j aimerais que mon pion ne puisse pas traverser le rectangle qui sert de plateforme, ca m arrangerais bien si quelqu un pouvait me donner quelque pistes !
    Merci
    Bonjour,

    Pour la détection d'objets et de formes dans un canevas Tkinter, vous avez plusieurs méthodes :

    http://infohost.nmt.edu/tcc/help/pub...s-methods.html

    La doc officielle Tkinter (à toujours avoir sous la main) :

    http://infohost.nmt.edu/tcc/help/pub...web/index.html

    Une fois la méthode adéquate sélectionnée, il ne vous restera plus qu'à :

    1. récupérer l'ID de la forme rectangle située sous votre "player"

    2. récupérer la largeur du rectangle (canvas.itemcget(????))

    3. borner les déplacements du "player" en fct de cette largeur

    PS: petits trucs sous Tkinter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Canevas.focus_set()
    Canevas.bind('<Key>',Clavier)
    Ne vous embêtez pas la vie comme ça : en général, un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mafenetre.bind_all("<Key>", Clavier)
    suffit amplement.

    Pareil :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # Création d'un widget Button (bouton Quitter)
    Button(Mafenetre, text ='Quitter', command = Mafenetre.destroy).pack(side=LEFT,padx=5,pady=5)
    Vous pouvez utiliser Mafenetre.quit au lieu de Mafenetre.destroy.

    Simplifiez aussi vos formules, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            PosY -= 2
            if PosY<12:
                PosY = 12
    peut s'écrire tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            PosY = max(12, PosY - 2) # borne inférieure
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            PosX += 2
            if PosX>977:
                PosX=977
    se résume à :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            PosX = min(977, PosX + 2) # borne supérieure
    Bon boulot.

    Amusez-vous bien !

Discussions similaires

  1. [ezPDF] Besoin d'aide avec soit ezpdf ou FPDF
    Par skonce dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 29/09/2006, 13h46
  2. [perl] Caractères interdit pour la clé d'un hash ?
    Par LE NEINDRE dans le forum Langage
    Réponses: 2
    Dernier message: 24/02/2006, 08h57
  3. Aide sur les macros Excel pour recopie auto de données
    Par nicoduhavre dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/11/2005, 08h38

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