Я могу заставить pygame отображать мяч в нижнем левом углу окна, которое я установил. Но почему-то мяч не двигается и не отскакивает от стенок окна. Цель этого — построить простой физический движок. Я не уверен, где я ошибаюсь. Любая помощь приветствуется.
Вот код: `import pygame
pygame.init()
w, h = 1024, 1024
# screen set up
screen = pygame.display.set_mode([w, h])
clock = pygame.time.Clock()
# this will run the window until I choose to quit it
running = True
while running:
# click close button
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
def main(g=9.8, hdamp=0.05, damp=0.05, ballx=0, bally=0):
ballx_v = 5
bally_v = 5
while True:
bally_v += (g / 50)
ballx_v += ballx_v
bally_v += bally_v
if ballx <= 0:
ballx_v = -ballx_v * (1 - damp)
ballx = 1
if bally_v <= 0:
bally_v = -bally_v * (1 - damp)
ballx_v = -ballx_v * (1 - hdamp)
bally = 1
if ballx >= w:
ballx_v = -ballx_v * (1 - damp)
var = w - 1
if bally_v >= h:
bally_v = -bally_v * (1 - damp)
ballx_v = -ballx_v * (1 - hdamp)
bally = h - 1
pygame.draw.circle(screen, (255, 255, 255), (int(ballx), (int(bally))), 5)
pygame.display.flip()
pygame.event.get()
clock.tick(40)
if __name__ == "__main__":
main()
# filling the background with color
screen.fill((255, 255, 255))
# drawing a shape in the window with tuple of RGB numbers and defining center and radius of circle
# pygame.draw.circle(screen, (255, 255, 255), (int(ball_x), (int(ball_y))), 5)
# flipping the display or updating it. with out this nothing shows
#pygame.display.flip()
#clock.tick(40)
# time to quit set up
pygame.quit()`
Ваша программа не на своем месте …. некоторые строки находятся не в том месте и т. Д. — person Lit_Romney710 schedule 28.04.2021
Это приложение не исполняется. — person Lit_Romney710 schedule 28.04.2021