如何解决Pycharm,pygame 弹球程序
我可以让 pygame 在我设置的窗口的左下角显示一个球。但是由于某种原因,球没有移动并从窗户的墙壁上弹开。这样做的目标是构建一个简单的“物理引擎”。我不确定我哪里出错了。非常感谢任何和所有帮助。
代码如下: `导入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))
# drawing a shape in the window with tuple of RGB numbers and defining center and radius of circle
# pygame.draw.circle(screen,(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()`
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。