Parallax python

Safiadelmes -  
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'aimerais créer un défilement de mon fond à l'infini pour un petit jeu comme sonic par exemple, mais je dois utiliser une def bien précise mais que je ne comprend pas:
def parallaxe(window, image, position_x, speed):
window = ecran
image1 = load_image('background_fix.png', ecran)
image2 = load_image('background_middle.png', ecran)
image3 = load_image('background_front.png', ecran)
position_x = 0
speed = 10
Mais cela ne fonctionne pas, si quelqu'un peut m'aider ^^

3 réponses

yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 585
 
bonjour,
merci d'utiliser les balises quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
es-tu certain d'avoir partagé ton code complet?
0
Safiadelmes
 
Bonjour, effectivement je l'ai poster un peu trop vite et je n'ai pas fait attention mais voilà je répond à ce message en repostant mon code complet et comme il le faut ^^
import pygame
import os, sys

def main():
    pygame.init()

    ecran = pygame.display.set_mode((1200, 600))
    pygame.display.set_caption('Le rêve de Robotnik')

    jeu_en_cours = True

    while jeu_en_cours :

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                jeu_en_cours = FALSE

            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_ESCAPE:
                    jeu_en_cours = False

        image1 = load_image('background_fix.png', ecran)
        ecran.blit(image1, (0, 0))
        image2 = load_image('background_middle.png', ecran)
        ecran.blit(image2, (0, 0))
        image3 = load_image('background_front.png', ecran)
        ecran.blit(image3, (0, 0))
        pygame.display.flip()

    pygame.quit()

def load_image(name, ecran, colorkey=None):
    fullname = os.path.join('resources/', name)
    image = pygame.image.load(fullname)
    return image

def parallaxe(window, image, position_x, speed):
    window = ecran
    image1 = load_image('background_fix.png', ecran)
    image2 = load_image('background_middle.png', ecran)
    image3 = load_image('background_front.png', ecran)
    position_x = 0
    speed = 10


    screen    

if __name__ == "__main__":
    main()
0
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 585
 
que veux-tu dire par "je dois utiliser une def bien précise"?
as-tu une question?
0
Safiadelmes > yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention  
 
Pour faire un effet parallax je doit utiliser cette def là :
def parallaxe (window, image, position_x, speed):

C'est pour un exercice d'entraînement donc je ne peux pas utiliser une autre alternative que cette def là, mais je ne sais pas du tout comment l'utiliser..
0
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 585 > Safiadelmes
 
l'exercice ne servira à rien si nous le faisons à ta place.

as-tu compris ce que sont chacun des paramètres de la fonction?
sais-tu comment faire appel à cette fonction?
quel est le rôle du reste du code?
0
Safiadelmes > yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention  
 
Le début de monde permet de superposer mes trois images de fonds .
Je pense pas avoir compris ce qu'il signifier vraiment et je débute en python du coup je ne voit pas trop comment les définir au niveau de la syntaxe.
0
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 585 > Safiadelmes
 
as-tu l'énoncé de l'exercice?
as-tu compris ce qu'était une parallaxe?
si tu débutes en python, n'est-il pas préférable de faire d'abord des exercices plus simples?
0
Safiadelmes
 
Oui un parrallaxe permet de créer un effet de défilement des fonds pour une impression d'avancer.
Dans mon sujet j'ai eu pour consigne de superposer mes 3 images de fond, puis d'utiliser cette def parrallaxe pour afficher mes images puis pour créer l'effet de défilement en leur donnant une vitesse.
Justement c'est un exercice qui ma été donner par mon école pour que je puisse débuter en python.
0
yg_be Messages postés 24281 Date d'inscription   Statut Contributeur Dernière intervention   1 585
 
je pense que cet exercice ne peut être fait que par quelqu'un qui a déjà appris python.
0