나는 게임을 만들려고하지만, 플랫폼 게임을 만들려고 할 때 무한한 높이의 스팸을 "w"(점프)로 유지할 수 있습니다. 이 코드는 모두 내 코드입니다.파이 게임에서 무한 점프 버그를 해결하는 방법?
GRAVITY = .2
diedorgameover = False
while not diedorgameover:
for event in pygame.event.get():
if event.type == pygame.QUIT:
diedorgameover = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
x_change = -5
elif event.key == pygame.K_d:
x_change = 5
elif event.key == pygame.K_s:
y_change = 5
elif event.key == pygame.K_w:
y_change = -5
if event.type == pygame.KEYUP:
if event.key == pygame.K_a or event.key == pygame.K_d:
x_change = 0
if event.key == pygame.K_s or event.key == pygame.K_w:
y_change = 0
#adding gravity to y_value
y_change += GRAVITY
x += x_change
y += y_change
if y >= gameDisplay.get_height() - 68:
y = gameDisplay.get_height() - 68
y_change = 0
#draw everything
gameDisplay.blit(background_image,(0,0))
red(x,y)
pygame.display.update()
clock.tick(60)
pygame.quit()
quit()
이 문제에 대한 통찰력이 있다면 정말 감사하겠습니다.
우리가 코드의 더 볼 필요가 당신을 돕기 위해. 선은 당신이 y_change + = 중력 X + = x_change Y + = y_change 을 Y 값 중력을 #adding 'OK – mrCarnivore
... 좋은 여기 내 코드의 더 살펴 게시 된 경우 Y> = gameDisplay.get_height() - 68 : gameDisplay.get_height Y =() - (68) = 0 y_change #draw 모든 gameDisplay.blit (background_image, (0,0)) 적 (x, y)를 ' –
정말 더 많은 도움이되지 않습니다 : 당신은 우리에게 당신이받을 지점을 보여주지 않았다. 사용자 입력. 또한 확장 코드를 보려면 질문을 편집하십시오. – mrCarnivore