2011-11-29 116 views
1

如何使用pygame.sprite.collide_rectPygame碰撞

我想做一个游戏,如果女孩在冰上,她会slide,当她在地面上(这将是另一个sprite)她不会slide。我打算使用pygame的碰撞检测,但我不知道如何。

有人可以帮我吗?

非常感谢你

+0

啊哈!原来有一个摩擦系数,我没有意识到。见http://stackoverflow.com/questions/8306471/sliding-sprites – user1048917

+0

你解决了这个问题吗?如果任何答案对您有任何用处,那么最好先注册/接受它们! :) – mac

+0

我通常不会惹这个,我在数学上检查碰撞。它不那么复杂,通常可以让你的游戏运行得更快。 –

回答

1

你能发表你的代码吗?

从我所收集,你要的是这样的:

if pygame.girl.colliderect(ice.rect): 
    girl.slide() 
elif pygame.girl.colliderect(ground.rect): 
    girl.notslide() 
+0

有没有办法我可以发布我的代码 对不起,我是一种新的大声笑 – bluesplay106

+0

如果它很短,您可以将它张贴到帖子本身,只需在每行前加上4个额外的空格,这将告诉StackOverflow将它放在一个灰色框和颜色某些单词,就像我在上面的文章。如果时间很长,您可以将其放入粘贴网站,例如http://pastebin.com/,然后发布粘贴链接。 – user1048917

+0

另外,对于这样的事情来说,查看pygame网站上的示例代码总是很好,尤其是http://www.pygame.org/docs/tut/chimp/ChimpLineByLine.html – user1048917

0

有多种方式来检测碰撞的Pygame。包括矩形,精灵组等等......为了找到一种特定的碰撞检测方式,只需看看你正在使用的代码即可。但是用一个简单的精灵和矩形你就可以使用:

if pygame.sprite.collide_rect(girl_sprite, ice): 
    slide() 
else : 
    continue_game()