簡體   English   中英

直腸上的Pygame碰撞

[英]Pygame Collision on Rect

我是一名高中計算機編程專業的學生,​​確實需要幫助,以使廣場成為船只無法進入的障礙,一旦您在廣場上射擊,子彈就消失了。 如果兩艘船相互碰撞,它們就會死亡。 請幫助我,我的問題不是措辭最好,但我確實需要幫助。

該代碼的鏈接位於https://docs.google.com/file/d/0B-Pb_T-Vgr3-TnhRY0lvVjJHX0U/edit?usp=sharing

我建議您創建一個擴展pygame.sprite.Sprite的GameObject類以及擴展GameObject的Ship和Bullet類。 這樣,您便可以輕松地添加兩個都需要的屬性,例如速度和加速度,並且可以創建一個碰撞方法,對於特定行為,這兩個方法都將其覆蓋。 額外的好處是pygame.sprite.collide_rect可以像這樣正常工作:

if (pygame.sprite.collide_rect(sprite1, sprite2)):
    # sprite1 and sprite2 are colliding!
    # do something, such as calling sprite1.collide(sprite2) 
    # and sprite2.collide(sprite1)

因此, pygame.sprite.collide_rect使用每個Sprite.rect屬性檢查兩個Sprite是否發生碰撞。 也可以使用rect.colliderect來概括此功能:

sprite1.rect.colliderect(sprite2.rect)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM