2011-11-29 149 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()