品易云推流 关闭
文章详情页
文章 > Python基础教程 > python如何检测pygame中的碰撞

python如何检测pygame中的碰撞

Python pygame

头像

小妮浅浅

2021-09-11 09:36:194115浏览 · 0收藏 · 0评论

 

说明

1、在PyGame中,可以使用pygame.Rect对象来完成基本的碰撞检测。

2、该Rect对象提供了多种方法来检测对象之间的碰撞。

请注意,即使是在Pong游戏中,矩形物体与圆形物体(如球拍和球)的碰撞也可以通过两个矩形物体(球拍和球的边界矩形)之间的碰撞来粗略地检测到。

实例

pygame.Rect.collidepoint:

测试点是否在矩形内

import pygame
 
pygame.init()
window = pygame.display.set_mode((250, 250))
rect = pygame.Rect(*window.get_rect().center, 0, 0).inflate(100, 100)
 
run = True
while run:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
 
    point = pygame.mouse.get_pos()
    collide = rect.collidepoint(point)
    color = (255, 0, 0) if collide else (255, 255, 255)
 
    window.fill(0)
    pygame.draw.rect(window, color, rect)
    pygame.display.flip()
 
pygame.quit()
exit()

以上就是python检测pygame中碰撞的方法,希望对大家有所帮助。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图