• 技术文章 >Python技术 >Python基础教程

    python如何检测pygame中的碰撞

    小妮浅浅小妮浅浅2021-09-11 09:36:19原创4777

    说明

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

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

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

    实例

    pygame.Rect.collidepoint:

    测试点是否在矩形内

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    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电脑。

    专题推荐:python pygame
    上一篇:Python如何从列表中获取笛卡尔积 下一篇:python Selenium如何等待元素出现

    相关文章推荐

    • python如何快速建立生成器• python中for语句读取生成器• Python脚本如何调用外部命令• python字符串转换为日期时间• python计算列表项出现次数的方法• Python操作PgSQL数据库的方法• Python numpy有哪些功能优于列表• python列表有什么特点• python操作文件模式的介绍• Python with as如何使用• Python如何从列表中获取笛卡尔积

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网