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 :

Tkinter et after


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Par défaut Tkinter et after
    Bonjour à tous.
    J'en suis au chapitre 8 du livre de Gérard Swinnen (excellent...) et j'ai fait un petit script pour déplacer quatre balles sur un Canvas et qui fonctionne.
    J'ai utilisé la méthode after, mais même avec la valeur minimum (1 milliseconde) les déplacements sont lents.
    Je me suis aperçu par hasard, en cliquant et en maintenant le clic gauche sur la fenêtre Tkinter pour la changer d'endroit sur l'écran, que le mouvement des balles était considérablement accéléré, et ralentissait dès que je relâchais le bouton de la souris.
    Voilà qui est curieux (pour moi du moins !) : avez- vous une explication ?
    Et peut-on obtenir le même résultat sans cette action sur la souris ?

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,

    Le comportement décrit n'étant pas celui "attendu", il vous faudra montrer votre code pour que quelqu'un teste et regarde ce qu'il se passe.

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

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Par défaut Tkinter et after
    Bonjour et merci de m'avoir lu.
    Voici le code...
    Fichiers attachés Fichiers attachés

  4. #4
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Par défaut Tkinter et after (envoi du code ?)
    J'ai mis le fichier.py en piece jointe mais apparemment le code n'apparait pas.
    Comment dois-je faire ?

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Salut,

    Le but d'une animation est de créer l'illusion d'un déplacement continu alors que les objets se déplacent de façon "discrète" => mettre à jour l'écran de 25 à 50 fois par seconde sera "suffisant" pour faire "illusion"
    Ca donne: 1/25 = 50ms, 1/50 = 20ms.
    Avec 1ms vous allez bouffer du CPU sans que çà n'apporte grand chose.

    Soit DELAY l'intervalle de temps entre les mises à jour.
    Si le déplacement de la balle se fait suivant (dx, dy) "dans cet intervalle", la vitesse est donnée par (dx, dy) / DELAY. Et pour aller "plus vite" il faudra augmenter (dx, dy) - DELAY est maintenant "constant".

    Je me suis aperçu par hasard, en cliquant et en maintenant le clic gauche sur la fenêtre Tkinter pour la changer d'endroit sur l'écran, que le mouvement des balles était considérablement accéléré, et ralentissait dès que je relâchais le bouton de la souris.
    Voilà qui est curieux (pour moi du moins !) : avez- vous une explication ?
    Il ne m'a pas été possible de reproduire cela.
    Désolé.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Par défaut Tkinter et after
    Le problème, c'est que si on augmente dx et dy, le mouvement est certes plus rapide, mais aussi moins fluide...
    ( PS: le sens de ma question dans le message précédent était "Que dois-faire ...pour faire apparaitre sur le forum le code de mon script en même temps que le message ? ")

Discussions similaires

  1. Droit pour faire un déclencheur "after logon on databas
    Par eXiaNazaire dans le forum Oracle
    Réponses: 5
    Dernier message: 05/01/2005, 15h11
  2. Réponses: 3
    Dernier message: 26/10/2004, 07h31
  3. [Trigger] Trigger instead of , after ?
    Par |DUCATI| DesMo dans le forum Développement
    Réponses: 5
    Dernier message: 05/10/2004, 10h02
  4. Réponses: 3
    Dernier message: 16/08/2004, 10h57
  5. Trigger AFTER
    Par Maitre B dans le forum Développement
    Réponses: 2
    Dernier message: 11/06/2004, 09h56

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