pygame学习笔记01: 第一个pygame程序

本学习笔记主要内容来源:

  1. http://m.biancheng.net/pygame/

目录

    代码:

    import sys
    import pygame
    
    #初始化pygame
    pygame.init()
    
    #创建surface对象, 设置窗口, 大小(600, 480)
    screen = pygame.display.set_mode((600, 480), 0, 32)
    
    #设置窗口标题
    pygame.display.set_caption('my game')
    
    #设置窗口背景颜色
    screen.fill((0, 0, 0))
    
    #获取字体对象
    basicFont = pygame.font.SysFont('simhei', 40)
    #basicFont = pygame.font.Font('C:/Windows/Fonts/simhei.ttf', 50) #通过文件路径
    #print('\n'.join(sorted(pygame.font.get_fonts()))) #打印可用的字体名字
    
    #获取文本对象
    #  参数一: 文本内容
    #  参数二: 字体是否平滑
    #  参数三: 字体颜色(RGB模式)
    #  参数四: 字体背景色(RGB模式)
    text = basicFont.render('INFORMATION', True, (255, 255, 255), (0, 0, 255))
    
    #获取显示对象的rect区域坐标
    textRect = text.get_rect()
    textRect.center = (300, 240) #设置文字矩形放到screen中间.
    
    #将渲染的文本绘制到窗口screen上
    screen.blit(text, textRect)
    
    #绘制直线
    #  参数一: 窗口对象
    #  参数二: 直线颜色
    #  参数三: 直线起点
    #  参数四: 直线终点
    #  参数五: 直线宽度
    pygame.draw.line(screen, (0, 255, 0), (50, 40), (400, 40), 5)
    
    #绘制矩形
    #  参数一: 窗口对象
    #  参数二: 矩形颜色
    #  参数三: 矩形坐标, 前两个数为左上角坐标, 后两个数为右下角坐标.
    pygame.draw.rect(screen, (100, 100, 100), (50, 60, 90, 80))
    
    #绘制圆形
    #  参数一: 窗口对象
    #  参数二: 圆形颜色
    #  参数三: 圆形圆心
    #  参数四: 圆形半径
    #  参数五: 线条宽度
    pygame.draw.circle(screen, (255, 0, 0), (180, 70), 20, 4)
    
    #绘制椭圆
    #  参数一: 窗口对象
    #  参数二: 椭圆颜色
    #  参数三: 椭圆x和y轴的左上角
    #  参数四: 椭圆x和y的半径
    #  参数五: 线条宽度
    pygame.draw.ellipse(screen, (200, 200, 200), (230, 70, 80, 50), 4)
    
    #绘制多边形
    #  参数一: 窗口对象
    #  参数二: 多边形颜色
    #  参数三: 点坐标元组, 最后一个点与第一个点一致(表示一个封闭的多边形?)
    pygame.draw.polygon(screen, (0, 0, 255), ((327, 109), (381, 109), (399, 55), (413, 109), (468, 109), (424, 139), (440, 190), (398, 162), (355, 189), (370, 140), (327, 109)))
    
    #固定代码段, 实现点击"X"号退出界面.
    #如果不捕获pygame事件, 则窗口会一闪而过.
    while True:
        #循环获取事件, 监听事件状态
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit() #卸载所有模块
                sys.exit()    #退出程序
    
        #更新并绘制窗口内容
        #  flip()和update()的区别:
        #    flip(): 更新整个待显示的内容
        #    update(): 可以根据选定的区域来更新部分内容
        #              如果update没有提供区域位置参数, 则update与flip相同.
        pygame.display.flip()
        #pygame.display.update()
    
    

    运行结果:

    posted @ 2022-05-24 15:08  编程驴子  阅读(63)  评论(0编辑  收藏  举报