• 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()
      
      

      运行结果:

    • 相关阅读:
      http编程中的get和post混合使用方式
      SQLServer实现作业依赖(非步骤)
      SQLServer实现两个库的字段长度自动更新
      Python+SQLite数据库实现服务端高并发写入
      sqlite数据库相关使用
      sqlite语法
      VBA关键字总结
      VS2005 .net2.0 TreeView.设置SelectedNodeStyle控制TreeView中选定节点的外观的
      SQLSERVER 2005 如何给sa用户设置空密码?
      解决超过远程连接数而无法连接服务器的问题 踢出已断开用户
    • 原文地址:https://www.cnblogs.com/gaiqingfeng/p/16305607.html
    Copyright © 2020-2023  润新知