J'essaie de faire un jeu simple et ça fonctionne bien. Le mouvement est comme le mouvement d'un bloc de tetris (instantanément, comme la téléportation) et c'est ce que je veux. Je ne veux pas de mouvement fluide, je veux ce style de mouvement.Comment puis-je implémenter des limites ou des collisions pour ce style de mouvement?
Mais il y a un problème ... Quand j'essaie d'ajouter des limites ou des collisions pour mon personnage et rect, ça ne marche pas, mais si j'écris ce code, ça ne marche qu'une fois et ensuite la gauche et la droite La clé ne fonctionne plus. Comment puis-je résoudre ce problème?
import pygame
pygame.init()
ekranx = 160
ekrany = 310
window = pygame.display.set_mode((ekranx, ekrany))
white = (255,255,255)
black = (0,0,0)
blue = (0,0,200)
pygame.display.set_caption("TOP")
clock = pygame.time.Clock()
ball = pygame.image.load("top.png")
def top(x,y):
window.blit(ball,(x,y))
top_x = (55)
top_y = (250)
cikis = False
while not cikis:
for event in pygame.event.get():
if event.type == pygame.QUIT:
cikis = True
if event.type == pygame.KEYDOWN:
#--SOL
if event.key == pygame.K_LEFT:
top_x += -50
#--SAĞ
if event.key == pygame.K_RIGHT:
top_x += 50
#print(event)
window.fill(white)
top(top_x,top_y)
pygame.draw.rect(window,blue,(5,5,150,300),5)
if top_x < 6:
pygame.K_LEFT = False
if top_x > 104:
pygame.K_RIGHT = False
pygame.display.update()
clock.tick(60)
pygame.quit()
quit()
Ne pas poster des captures d'écran de votre code, ajoutez le code directement au poste sous la forme d'un [exemple minimal, complet et vérifiable] (https://stackoverflow.com/help/mcve). Collez simplement le code dans la question, sélectionnez-le et appuyez sur Ctrl-K. – skrx