Des idées pour créer des fonctions de déplacement style doodle jump ?

killis52

Nouveau membre
Bonjour !

J'ai déjà créer un sujet sur mon problème mais c’était beaucoup trop général et personne ne pouvait me donner des solutions.

Bref mon problème est le suivant :

Je suis débutant dans la programmation.

Avec mon camarade nous avons choisi de recréer un style de doodle jump à notre sauce. Nous avons déjà pas mal avancé, comme créer les plateformes (même si c'est pas tout à fait au point) ainsi que le personnage.

Maintenant, il faut que je réussisse à créer trois fonctions (en langage python) :

- une première qui fasse constamment sauter le personnage sur place
- une qui le fasse déplacer vers la gauche tout en sautant
- et une autre qui le fasse déplacer vers la droite en sautant aussi

J'ai déjà fait pas mal de test mais franchement je suis perdu :/ mes brouillons ne valent pas la peine d'être montrés. J'ai aussi des soucis au niveau des collisions personnage/objets et personnage/plateforme (faut il créer des fonctions pour cela aussi ?) ...

Du coup je demande un peu d'aide aux âmes charitables !

Merci d'avance !


 

killis52

Nouveau membre
Bonjour,

Je n'ai eu aucune réponse depuis donc je relance le sujet avec une update.

Donc voilà où j'en suis pour créer mes fonctions de déplacement. J'ai voulu en créer 2, une première qui déplace le personnage de droite à gauche (sauf que sur mon code on voit uniquement dans la commande quelle touche a été pressée et le personnage ne se déplace pas sur l'interface) et une seconde fonction qui fait déplacer le personnage vers le haut (le fait sauter) comme pour le principe du jeu doodle jump, sauf que ma fonction ne marche pas.

Première fonction :

Python:
from tkinter import *

fen = Tk()
fen.title("Personnage")
canevas = Canvas(fen,bg='white', height=300, width = 300)
canevas.pack()
x,y = 150,270
player = PhotoImage(file="perso.gif") # On charge l'image depuis un fichier
img = canevas.create_image(x,y,image = player)  #On importe l'image dans le canevas

def evenements(event):
    key = event.keysym
    print("KEY:", key)

    x = 0
    if key == "Right":
        x += 100
    elif key == "Left":
        x -= 100
    canevas.move(player,x,0)

fen.bind("<Key>",evenements)

Seconde fonction :

Python:
"""
Brouillon de la seconde fonction:
"""
def jumping(): #On créer une fonction qui fait en permanence sauter le perso verticalement sur place
    global jump_info
    jump_y, direction = jump_info

    if direction == "Top":
        if jump_y > -50:
            jump_y = 0
            
        else:
            jump_y = 50
            
    elif direction == "Bottom":
        if jump_y < 50:
            jump_y = 0
        else:
            jump_y = 0
    pass



            
    jump_info = (jump_y, direction) #Sauvegarde des nouvelles valeurs(distance, direction)
    canevas.move(player,0,y) #Bouge le personnage sur l'axe y
    canevas.after(100, jumping) #Appelle la callback, pour recommencer cette fonction

jump_info = (0,"Top") #Distance, direction
    

#Creation  d'un bouton "Quitter":
Bouton_Quitter=Button(fen, text ='Quitter', command = fen.destroy)
#On ajoute l'affichage du bouton dans la fenêtre tk:
Bouton_Quitter.pack()

fen.mainloop

Merci d'avance

 

yeenoikftw

Nouveau membre
Donc voilà où j'en suis pour créer mes fonctions de déplacement. J'ai voulu en créer 2, une première qui déplace le personnage de droite à gauche
Vous devez être connecté pour voir les images.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 134
Messages
6 718 059
Membres
1 586 394
Dernier membre
Manoushk
Partager cette page
Haut