だから私は物事をかわす必要がある小さなゲームを書いたが、その後私は衝突の機能を見て、ちょうど衝突するコードでハードコードされた結託を変更することを知った。私はそれを設定しましたが、それはwokred didntなので、私はそれをテストし、新しいpygameファイルを作成しました!私の衝突が働いていない
import pygame
w=400;h=400
pygame.init()
root=pygame.display.set_mode((w,h))
pygame.display.set_caption('TEST SUBJECT')
def gameloop():
thing=pygame.image.load('unnamed.png')
th=thing.get_rect()
thing2=pygame.image.load('s.png')
th2=thing2.get_rect()
clock=pygame.time.Clock()
while 1:
for event in pygame.event.get():
if event.type==pygame.QUIT:
pygame.quit()
quit()
root.blit(thing,(w//2-50,h//2-60))
root.blit(thing2,(0,0))
if th.colliderect(th2)==1:
print('OK')
pygame.display.update()
clock.tick(15)
gameloop()
あなたがここで言うことができるように、衝突は2つのオブジェクトが互いに当たっても1を返します。
あなたは 'th'と' th2'を変更しないので、彼らはお互いにヒットします。それを別の場所に表示することは重要ではありません。 'root.blit(thing、th)'と 'root.blit(thing、th2)'を試して、衝突していることがわかります。 – furas