[英]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.