begin process at 2012 02 08 13:28:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Divers

 > 

Débutant(e)

 > 

Tkinter, non déplacement d'un ballon incompréhensible


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tkinter, non déplacement d'un ballon incompréhensible

dimanche 8 août 2010 à 23:21:07 | Tkinter, non déplacement d'un ballon incompréhensible

ubranov

Bonjour,

Je cherche simplement à animer un petit ballon dans une fenêtre grâce au module Tkinter. Je n'arrive vraiment pas à comprendre en quoi le code ci-dessous ne fonctionne pas comme souhaité. En effet, par la méthode 'bouge' les coordonnées graphique du ballon ne changent pas malgré que ses attributs 'position_xy' sont eux bien modifiés. (et malgré avoir aussi essayer la méthode 'update'). D'autant plus surprenant qu'en rentrant 'en dur' des coordonnées bidon comme arguments de la méthode 'coords', le ballon s'affiche bien à cette position bidon.
J'en déduis que le hic n'est ni dans l'utilisation de la méthode 'coords' ni dans les valeurs passées en arguments. Alors d'où peut diable venir ce non déplacement du ballon, pourquoi ? et comment y remédier ?
Merci d'avance pour vos réponses !!! (je souhaite éviter les 'global' et utiliser la notion de classe dans mon code)

E.

Code Python :
from Tkinter import *

class Ball:
        def __init__(self, position_x, position_y, deplacement_x, deplacement_y):
                self.position_x = position_x
                self.position_y = position_y
                self.deplacement_x = deplacement_x
                self.deplacement_y = deplacement_y
                self.forme = canevas.create_oval(position_x-10, position_y-10, position_x+10, position_y+10, width = 2, fill = 'red')

        def bouge(self):
                self.position_x = self.position_x + self.deplacement_x
                self.position_y = self.position_y + self.deplacement_y
                print(self.position_x-10, self.position_y-10, self.position_x+10, self.position_y+10)
                # pourquoi diable le ballon ne se deplace pas alors que les coordonnes sont bien modifiees ????!!!!
                # self.forme = canevas.coords(self.forme, 100, 100, 100, 100)  # alors que de rentrer les coordonnees en dur fonctionne...?
                self.forme = canevas.coords(self.forme, self.position_x-10, self.position_y-10, self.position_x+10, self.position_y+10)
                canevas.after(50,self.bouge)





def commencer(event):
        ballon = Ball(200,200 , 3,3)
        ballon.bouge()
        
fenetre = Tk()
canevas = Canvas(fenetre, height = 500, width = 500)
canevas.pack()
boutton = Button(fenetre, text = "GO !")
boutton.bind("<Button-1>", commencer)
boutton.pack()


fenetre.mainloop()

dimanche 8 août 2010 à 23:45:10 | Re : Tkinter, non déplacement d'un ballon incompréhensible

ubranov

C'est tout bon en fait !
supprimer : self.forme à la ligne 17...


Cette discussion est classée dans : self, position, deplacement, ballon, canevas


Répondre à ce message

Sujets en rapport avec ce message

wxWindow::RegisterHotKey [ par DoudouBidou ] Bonjour à tous(au passage Merci pour ce site, depuis le temps que je l'attends...)J'utilise wxPython pour réaliser mon interface graphique mais je n'a heklp serverSocket [ par Harvester_ ] Voila j'ai utliser un script du siteC'est un server socket qui marchait tres bien au debut(source)#!C:\Python23\python.exeimport SocketServerimport sy Socket : charger ip depuis fichier [ par Shinji ] Bonjour @ ttes et @ ts, voici mon pb:  j'essaye de faire une petite app client/serveur et j'aimerais pouvoir enregister l'ip/port du serveur dans un IDLE : une mauvaise plaisanterie ? [ par steede ] Bonjour, je débute la programmation (enfin je m'y remets...et je suis autodidacte) et j'ai d'énormes problèmes  avec Python à savoir :   - toutes les Comment lancer son application !!!!!!!!!! [ par steede ] Voila, j'ai écrit (pompé) une malheureuse app (extraite d'un exemple "simple" de wx) et j'aimerais la faire fonctionner !!!!ci dessous la ligne de la Il me manque une librairie [ par cipher16 ] Bonjour ... je viens de commencer à coder en python ... et il semblerai qu'il me manque une librairie ayant un rapport avec internet ... J'ai cherché chaine de caractère [ par Thomeux ] Bonjour,Je débute en python et je souhaite pouvoir connaitre la position d'un caractère situé dans une chaine de caractère.j'ai cherché sur la toile, Class has no attribute !?!? [ par RV2931 ] BonjourJ'ai récupéré un petit programme "Hello world" d'un tuto wxPython de développez.com que voici :# !/usr/bin/python#  -*- coding: iso885915 -*-im héritage de wxObject et polymorphisme ?? [ par RV2931 ] Bonjour,Je programme en wxPython et j'aurai voulu savoir comment dériver un objet wx pour faire un bouton personalisé par exemple, avec des informatio connexion python [ par tsic ] Bonjour, Voilà, j'ai débuté recemment avec python et je veux faire une connexion client serveur (windows) par l'intermédiaire d'une interface QT Desig


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,827 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales