Parallax python

Fermé
Safiadelmes - 23 mars 2021 à 20:30
yg_be Messages postés 23490 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 mars 2025 - 29 mars 2021 à 16:47
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 23490 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 mars 2025 Ambassadeur 1 570
23 mars 2021 à 20:43
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
24 mars 2021 à 12:01
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 23490 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 mars 2025 1 570
24 mars 2021 à 15:16
que veux-tu dire par "je dois utiliser une def bien précise"?
as-tu une question?
0
Safiadelmes > yg_be Messages postés 23490 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 mars 2025
24 mars 2021 à 15:46
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 23490 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 mars 2025 1 570 > Safiadelmes
24 mars 2021 à 16:26
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 23490 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 mars 2025
Modifié le 25 mars 2021 à 11:11
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 23490 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 mars 2025 1 570 > Safiadelmes
25 mars 2021 à 12:53
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
29 mars 2021 à 16:40
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 23490 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 mars 2025 1 570
29 mars 2021 à 16:47
je pense que cet exercice ne peut être fait que par quelqu'un qui a déjà appris python.
0

Discussions similaires