Python 如何在矩形的所有边上创建碰撞?

Python 如何在矩形的所有边上创建碰撞?,python,pygame,Python,Pygame,如何为矩形的所有4条边创建碰撞?示例:如果玩家跑向左侧,则无法再向右移动。如果它落在矩形的顶部,它就会停止下落,等等。我会看一看。具体来说,看看pygame.Rect.colliderect 贝娄,我已经将代码粘贴到一个非常简单的游戏中,我相信它勾勒出了你想要的东西 导入pygame pygame.init() screen=pygame.display.set_模式((700400)) clock=pygame.time.clock() 黑色,白色,灰色=(0,0,0),(255,255,25

如何为矩形的所有4条边创建碰撞?示例:如果玩家跑向左侧,则无法再向右移动。如果它落在矩形的顶部,它就会停止下落,等等。

我会看一看。具体来说,看看pygame.Rect.colliderect

贝娄,我已经将代码粘贴到一个非常简单的游戏中,我相信它勾勒出了你想要的东西

导入pygame
pygame.init()
screen=pygame.display.set_模式((700400))
clock=pygame.time.clock()
黑色,白色,灰色=(0,0,0),(255,255,255),(100100100)
块x,块y=25175
速度x,速度y=0,0
运行=1
运行时:
对于pygame.event.get()中的e:
如果e.type==pygame.QUIT:
运行=0
如果e.type==pygame.KEYDOWN:
如果e.key==pygame.K_左:
速度x=-5
速度y=0
如果e.key==pygame.K_RIGHT:
速度x=5
速度y=0
如果e.key==pygame.K_UP:
速度x=0
速度y=-5
如果e.key==pygame.K_向下:
速度x=0
速度y=5
屏幕填充(黑色)
块x+=速度x
块y+=速度y
blockOne_rect=pygame.rect(block_x,block_y,50,50)
blockTwo_rect=pygame.rect(600、175、50、50)
pygame.draw.rect(屏幕、白色、区块一)
pygame.draw.rect(屏幕、灰色、方块二)
如果blockOne\u rect.Collide rect(blockTwo\u rect):
速度x=0
速度y=0
时钟滴答(60)
pygame.display.update()
pygame.quit()
退出

FYI:寻找我可以用来学习的示例或任何技巧/资源。谢谢通常,在stackoverflow上,您应该展示您的尝试,我们可以帮助您。这类问题太广泛了。谢谢,但出于某种原因,我仍然可以在另一个街区内走动:/