Move the ball

thi3d -  
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


Comment faire pour ne pas que le point rouge ne sorte pas du cadre ? from tkinter import *

def KeyBoard(event):
    global PosX,PosY
    Key = event.keysym
    if Key == 'Up':
        PosY -= 20
    if Key == 'Down':
        PosY -= 20
    if Key == 'Right':
        PosX -= 20
    if Key == 'Left':
        PosX -= 20
    MyCanvas.coords(Piece,PosX -10, PosY -10, PosX +10, PosY +10)

MyWindow = Tk()
MyWindow.title('Piece')

PosX = 230
PosY = 150

MyCanvas = Canvas(MyWindow, width = 480, height =320, bg ='white')
Piece = MyCanvas.create_oval(PosX-10,PosY-10,PosX+10,PosY+10,width=2,outline='black',fill='red')
MyCanvas.focus_set()
MyCanvas.bind('<Key>',KeyBoard)
MyCanvas.pack(padx =50, pady =50)

Button(MyWindow, text ='Exit', command = MyWindow.destroy).pack(side=LEFT,padx=5,pady=5)

MyWindow.mainloop()


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

5 réponses

Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour,

En testant posx et posy par rapport aux dimensions du canvas, juste avant l'instruction de mise à jour des coordonnées
0
Idabo
 
Bonjour

Merci pour ton retour.

Si j'ai bien compris, il suffit de supprimer la ligne:

from tkinter import *

Cdlt
0
jee pee Messages postés 41520 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Bonjour, "Si j'ai bien compris" , non absolument pas ;-)

Tu devrais tranquillement relire la réponse de Phil_1857. La décortiquer, l'analyser, la soupeser ...
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Surtout pas !

from tkinter import *, c'est ce qui permet d'importer les module de la biblothèque tkinter,

pour créer des objets comme les boutons ou les canevas ...

Tu sait ce que tu fais, au moins ?

C'est toi qui a écrit ce code ?
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour,

En plus, ton code ne marche pas comme il le devrait:

que la touche soit Up ou Down, tu soustrait toujours 20

idem pour Left et Right ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour idabo,

Alors, ça donne ou pas ?
0