Partage
  • Partager sur Facebook
  • Partager sur Twitter

Deplacement d'un rectangle

    1 février 2015 à 20:29:17

    Bonjour a tous,

    Je suis en train de travailler sur mon projet d'Isn dan le but de créer un Geometry dash.

    # -*- coding: cp1252 -*-
    import pygame
    import time
    import pygame, sys
    from random import randrange
    from pygame.locals import *
    
    pygame.init()
    fenetre = pygame.display.set_mode((1000, 600))
    
    # afichage du fond
    fond = pygame.image.load("background.jpg").convert()
    position_fond = fond.get_rect()
    
    deplacement_fond_x = -1
    deplacement_fond_y = 0
    x=0
    x_obst=2000
    y_obst=500
    color = (0, 0, 0)
    
    #Chargement et collage du personnage
    perso = pygame.image.load("perso.png").convert_alpha()
    position_perso = perso.get_rect()
    position_perso = position_perso.move(480, 560)
    #fenetre.blit(perso, position_perso)
    #pygame.display.flip()
    pygame.key.set_repeat(400, 30)
    
    #BOUCLE INFINIE
    continuer = 1
    while continuer:
        x+=1
        position_fond = position_fond.move(deplacement_fond_x, deplacement_fond_y)      
        fenetre.blit(fond, position_fond)
        fenetre.blit(perso, position_perso)
        if x>=x_obst:
            pygame.draw.rect(fenetre, color, pygame.Rect(500, 500, 50, 50), 0)
            pygame.display.flip()
            
        else:
            pygame.display.flip()
           
            
            for event in pygame.event.get(): #Attente des événements            
                if event.type == QUIT:
                            continuer = 0
                if event.type == KEYDOWN:
                        if event.key == K_SPACE:
                                #Si "espace" On monte le perso
                                position_perso = position_perso.move(0,-60)
                                #pygame.display.flip()
                                position_perso = position_perso.move(0,40)
                                #time.sleep(0.1)
                                
    
            
            for event in pygame.event.get(): #Attente des événements            
                if event.type == QUIT:
                            continuer = 0
                if event.type == KEYDOWN:
                        if event.key == K_SPACE:
                                #Si "espace" On monte le perso
                                position_perso = position_perso.move(0,-60)
                                #pygame.display.flip()
                                position_perso = position_perso.move(0,40)
                                #time.sleep(0.1)

    J'aimerai donc déplacer le rectangle crée avec :

    pygame.draw.rect(fenetre, color, pygame.Rect(500, 500, 50, 50), 0)
            pygame.display.flip()

    mais je ne voit pas comment faire. Comment doit-je proceder

    Merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      2 février 2015 à 8:52:08

      Ce n'est pas explicite, tu risques de ne pas avoir de réponses...

      Par contre tu sais déplacer un rectangle, donc je ne comprend plus ton problème, car tu utilises bien la méthode move.

      • Partager sur Facebook
      • Partager sur Twitter
        2 février 2015 à 19:10:55

        Pour ce qui est de la duplication j'ai mal copié. Et maintenant je bug au niveau de la gestion des colisions. Comment puis je faire ?

        • Partager sur Facebook
        • Partager sur Twitter
          2 février 2015 à 20:54:53

          En vérifiant si les rectangles entrent en collision. C'est décrit dans la doc, sous Rect

          • Partager sur Facebook
          • Partager sur Twitter

          Deplacement d'un rectangle

          × 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