Partage
  • Partager sur Facebook
  • Partager sur Twitter

Bouger un objet avec touches directionnelles

    13 décembre 2015 à 14:23:08

    Bonjour,

    Je programme en Python et j'aimerais faire bouger un objet créé grâce aux touches directionnelles mais je n'y arrive pas.

    Si quelqu'un peut m'aider, je lui en serait reconnaissante.

    Merci d'avance

    PS: j'utilise Tkinter

    • Partager sur Facebook
    • Partager sur Twitter
      13 décembre 2015 à 15:07:53

      Bonjour aurait tu un code de départ à nous proposer ?

      Quel objet voulez vous bouger?

      • Partager sur Facebook
      • Partager sur Twitter
        13 décembre 2015 à 16:48:19

        J'ai ça qui m'est donné et je dois l'améliorer en bougeant un objet avec les touches directionnelles et je pensais bouger le soleil
        from Tkinter import *
        
        
        # --- définition des fonctions gestionnaires d'évènements : ---
        def pointeur(event):
            chaine.configure(text = "Clic détecté en X =" + str(event.x) +\
                                    ", Y =" + str(event.y))
            if event.y>450:
                changecolor(herbe)
            if 150<event.x<450 and 250<event.y<450:
                changecolor(maison)
            if 700<event.x<900 and 50<event.y<250:
                changecolor(soleil)
        
        
        def changecolor(objet):
        # Changement de la couleur
            global coul,soleil,herbe,maison,toit,i,pal
            coul = pal[i%11]
            i=i+1
            can1.itemconfigure(objet,fill=coul,outline="black")
        
        #------ Programme principal -------
        # Variable globale
        i=0
        pal=["pink",'purple',"blue",'cyan','green',"yellow","orange","red","brown","black","grey"]
        # Création du widget principal ("maître") :
        fen = Tk()
        
        # création des widgets "esclaves" :
        can1 = Canvas(fen,bg='white',height=650,width=1000)
        can1.pack(side=LEFT)
        
        can1.bind("<Button-1>", pointeur)
        
        chaine = Label(fen,text="Encore aucun clic")
        chaine.pack()
        
        bout1 = Button(fen,text='Quitter',command=fen.quit)
        bout1.pack(side=RIGHT)
        
        
        # création d'objets
        # création du dessin
        herbe=can1.create_rectangle(0,450,1002,652,outline="green")
        soleil = can1.create_oval(700,50,900,250,outline="yellow")
        maison=can1.create_rectangle(150,250,450,450,outline="maroon")
        toit =can1.create_polygon(150,250,300,150,450,250,outline="red",fill="yellow")
        
        
        
        fen.mainloop()		# démarrage du réceptionnaire d'événements
        
        fen.destroy()		# destruction (fermeture) de la fenêtre
        • Partager sur Facebook
        • Partager sur Twitter
          13 décembre 2015 à 17:11:22

          Moi je serais parti sur la base de ce code :

          import tkinter as tk
          
          def keypress(event):
              if event.keysym == 'Escape':
                  root.destroy()
              x = event.char
              if x == "w":
                  text.insert('end','blaw blaw blaw\n')
              elif x == "a":
                  text.insert('end','blaha blaha blaha\n')
              elif x == "s":
                  text.insert('end','blash blash blash\n')
              elif x == "d":
                  text.insert('end','blad blad blad\n')
              else:
                  text.insert('end','You pressed {0}\n'.format(event.char))
          
          root = tk.Tk()
          print ("Press a key (Escape key to exit):")
          root.geometry('300x200')
          text = tk.Text(root, background='black', foreground='white', font=('Comic Sans MS', 12))
          text.pack()
          root.bind('<KeyPress>', keypress)
          root.mainloop()

          Et après chercher la correspondance des flèches dans la numérotation ASCII

          Exemple :

          Si c'est la flèche du haut : Action1()

          Etc ...

          Désolé ne ne pas pouvoir t'aider plus je doit m'en aller ...

          • Partager sur Facebook
          • Partager sur Twitter
            13 décembre 2015 à 17:20:07

            Pas de problème, je vais essayer de me débrouiller. Merci beaucoup en tout cas
            • Partager sur Facebook
            • Partager sur Twitter

            Bouger un objet avec touches directionnelles

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown