Explications de lignes

Résolu/Fermé
Ezekiel2510 Messages postés 14 Date d'inscription jeudi 2 janvier 2014 Statut Membre Dernière intervention 14 avril 2014 - Modifié par Ezekiel2510 le 26/02/2014 à 05:14
Ezekiel2510 Messages postés 14 Date d'inscription jeudi 2 janvier 2014 Statut Membre Dernière intervention 14 avril 2014 - 26 févr. 2014 à 17:35
Salut les gens,
Pour le besoin d'un programme, j'avais besoin de faire tourner une image en boucle. Après moultes essais j'ai jeté mon dévolu sur un forum qui m'a bien aidé. Ces lignes ce sont parfaitement bien intégrées a mon programme. Mon problème c'est que je ne les comprends pas vraiment et du coup, je suis incapable de les mémoriser. Quelqu'un peut-il m'explique comment elles marchent.

ck  = pygame.time.Clock()
tk  = 0
offset = 0
speed  = 2
height = bg.get_height()
boucle = 1

while boucle :
        tk += ck.tick()
        if tk >= 10:
            offset = (offset+speed)%height
            fenetre.blit(bg,(240,offset))
            fenetre.blit(bg,(240,offset-height
            fenetre.blit(perso, position_perso)
            pygame.display.flip()
            tk = 0


Merci beaucoup!

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
26 févr. 2014 à 06:43
Salut,

Et pourquoi n'as-tu pas demandé de plus amples informations à ceux qui t'ont donné ces lignes de codes ???

C'eut été quand même beaucoup plus simple, non ?
0
davs63 Messages postés 6 Date d'inscription dimanche 12 juillet 2009 Statut Membre Dernière intervention 4 mars 2014
26 févr. 2014 à 12:09
Salut :

C'est du Pygame donc je ne connais que moyennement

# Tu initialise un objet horloge qui te permet la gestion du temps
ck = pygame.time.Clock()
# Apparemment une variable pour le temps de pause
tk = 0
# une variable pour la valeur du décalage entre une image et le bord de l'écran
offset = 0
speed = 2
# Height est une variable qui recupere la hauteur de l'objet bg ( image de fond ? )
height = bg.get_height()
# juste une variable pour le while, à 1 la boucle ... boucle ^^ , je suppose que quelque part boucle sera == à None pour mettre fin a la boucle while
boucle = 1

# ici c'est ta boucle while
while boucle :

# ici doit donc être la gestion d'une pause ou d'un temps, en gros tant que tk n'a pas atteint 10 seconde ou 10 millisecond ( aucune idée ) tu affiche l'image bg ( ck.tick() doit donner la valeur de l'horloge je suppose )
tk += ck.tick()
if tk >= 10:
# Tu augmente le décalage de l'image bg ( donc mouvement ) en ajoutant la valeur de la variable speed
offset = (offset+speed)%height
# blit = copie des pixels d'une image ( bg ) sur une surface ( ici la cible étant fenetre ) au coordonnés horizontal : 240 et verticale la valeur de offset
# j'en conclu que l'image descend
fenetre.blit(bg,(240,offset))
# aucune idée il en manque un bout
fenetre.blit(bg,(240,offset-height
# tu copie ici les pixels représentant l'image de ton personnage sur fenetre
fenetre.blit(perso, position_perso)
# tu rafraichie ta fenêtre pygame pour qu'elle affiche ce qu'elle doit afficher
pygame.display.flip()
# tu remet le compteur a 0
tk = 0
0
Ezekiel2510 Messages postés 14 Date d'inscription jeudi 2 janvier 2014 Statut Membre Dernière intervention 14 avril 2014
26 févr. 2014 à 17:35
Merci beaucoup !
0