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

    python如何检测pygame中的碰撞

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

    说明

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

    专题推荐: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学习网