【发布时间】:2021-12-04 14:12:11
【问题描述】:
我正在尝试编写一个太空侵略者风格的游戏,其想法是弹出气球。当它接触边缘时,它只会在大约半分米(1.5 英寸)之间来回移动。我试图做的是一个 if elif 语句来查找它是否在屏幕内。
while run == True:
clock.tick(60)
for event in py.event.get():
if event.type == py.QUIT:
py.quit()
quit()
keys = py.key.get_pressed()
charrect.x += (keys[py.K_RIGHT] - keys[py.K_LEFT]) * 4
charrect.clamp_ip(screen.get_rect())
if keys[py.K_SPACE]:
while charrect.y != 0:
clock.tick(60)
charrect.y -= 2
brect.x += bloonspeed
brect.clamp_ip(screen.get_rect())
screen.fill(white)
screen.blit(character, charrect)
screen.blit(bloon, brect)
py.display.update()
if brect.x == 70:
bloonspeed = -4
elif brect.x == 0:
bloonspeed = 4
brect.x += bloonspeed
screen.fill(white)
screen.blit(bloon, brect)
screen.blit(character, charrect)
py.display.update()
有没有办法在 if 语句中使用clamp 或clamp_ip 来检测它们的碰撞?
【问题讨论】: