Move the ball

thi3d -  
Phil_1857 Messages postés 1883 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.

5 réponses

  1. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Bonjour,

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

    Merci pour ton retour.

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

    from tkinter import *

    Cdlt
    0
    1. jee pee Messages postés 31872 Date d'inscription   Statut Modérateur Dernière intervention   9 977
       
      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
  3. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    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
  4. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     
    Bonjour idabo,

    Alors, ça donne ou pas ?
    0