我想知道如何在pygame中进行碰撞检测。我的游戏不使用精灵,它只是播放两张图片。我怎样才能检查它们是否相撞?我知道有sprite.collide,但它不使用sprite。有没有办法通过比较每个图像的x和y值来检查碰撞
def fish(x,y):
gameDisplay.blit(fishImg,(x,y))
def enemy(enemyX,enemyY):
gameDisplay.blit(enemyImg,(enemyX,enemyY))
def main():
x = displayWidth/2
y = displayHeight/2
enemyX = random.randint(0,displayWidth)
enemyY = random.randint(0,displayHeight)
xChange = 0
yChange = 0
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
xChange = -5
elif event.key == pygame.K_d:
xChange = 5
elif event.key == pygame.K_w:
yChange = -5
elif event.key == pygame.K_s:
yChange = 5
if event.type == pygame.KEYUP:
if event.key == pygame.K_a or event.key == pygame.K_d:
xChange = 0
elif event.key == pygame.K_w or event.key == pygame.K_s:
yChange = 0
x += xChange
y += yChange
gameDisplay.fill(red)
fish(x,y)
enemy(enemyX,enemyY)
if
pygame.display.update()
clock.tick(30)
main()
pygame.quit()
quit()
使用^{} 和^{} 检查冲突
创建} 在位置(0,0)创建一个
pygame.Rect
对象,使用图像的大小和位置,在其中创建blit
图像。^{
pygame.Rect
对象,但左上角的位置可以通过关键字参数topleft
设置:相关问题 更多 >
编程相关推荐