我尝试制作一个塞尔达克隆游戏,现在想知道如何计算碰撞,有人可以告诉我该如何做吗?我已经尝试了colliderct,但它在这里根本无法工作,以下是我的代码:
import pygame
pygame.init()
display = pygame.display.set_mode((800,600))
white=(255,255,255)
black=(0,0,0)
x=50
y=50
width = 40
height = 60
vel = 5
playerimg= pygame.image.load('link1.jpg').convert()
def player(x,y):
display.blit(playerimg,(x,y))
while True:
pygame.time.delay(100)
for event in pygame.event.get():
if event.type == pygame.QUIT:
break
keys = pygame.key.get_pressed()
if keys[pygame.K_a]:
x -= vel
if keys[pygame.K_d]:
x += vel
if keys[pygame.K_w]:
y -= vel
if keys[pygame.K_s]:
y += vel
display.fill(white)
player(x,y)
pygame.draw.rect(display, (255,0,0), hitbox,2)
pygame.display.update()
pygame.quit()
pygame.Rect
/colliderect()
。或者更好的是pygame.sprite.Sprite
,pygame.sprite.Group
和pygame.sprite.spritecollide()
。 - Rabbid76