1. 游戏开发在软件开发领域占据了非常重要的位直。游
  2. 戏开发需要用到的技术相当广泛,除了多媒体、图片、动
  3. 画的处理外,程序设计更是游戏开发的核心内容。
  4. Py game 是为了让 Python 能够进行游戏开发而发展出
  5. 来的包,通过它, Python 可以实现对音效、音乐、图片、
  6. 动画的控制,可以说这是一个功能强大而完整的包。
  1. Pygame 是专门为游戏开发而推出的 Python 包,它是从 Simple Directmedia Layer
  2. CS DL) 延伸而来的。 SDL DirectX 类似,都可通过简练的方式来实现对声音、图
  3. 片或视频的控制,井大幅简化了程序代码,使游戏开发工作更为容易
  1. Pygame 的基本架构
  2. 在开发 Pygame 程序之前,我们首先要导入
  3. Pygame 包,语法为:
  4. import pygame
  5. 然后对 Pygame 进行初始化(启动),语法为:
  6. pygame.init()
  7. 接着再创建绘图窗口作为图形显示区域,语法为:

  1. 例如,创建一个宽 640 、高 320 的绘图窗口,井保存至 screen 变量

  1. Py game 包的 disp lay.set_caption 方法可设置窗口标题,例如:

  1. 通常情况下, 图形并不是直接画在绘图窗口中,而是在绘图窗口创建一块与绘图窗口同样大小的画布,然后将图形画在画布上 创建画布的语法为:

  1. Surface 方法可创建画布, screen.get_size ()方法可取得绘图窗口大小,因此画布
  2. 会填满绘图窗口 画布变量的 convert 方法可为画布创建一个副本,加快画布在绘图
  3. 窗口的显示速度。例如创建 background 画布变量

  1. 画布变量的 fill 方法的功能是为画布填充指定颜色。例如设定画布为红色

  1. 创建画布后井不会在绘图窗口中显示,需以窗口变量 bl it 方法绘制于窗口中,
  2. 语法为:

  1. 例如,把 background 画布从绘图窗口左上角(0,0)开始绘制,覆盖整个窗口:

  1. 最后更新绘图窗口,才能显示绘制的图形,语法为:

  1. import pygame
  2.  
  3. pygame.init() #启动Pygame
  4. screen = pygame.display.set_mode((640, 320)) #建立绘图窗口
  5.  
  6. pygame.display.set_caption("基本架构") #绘图窗口标题
  7. background = pygame.Surface(screen.get_size()) #建立画布
  8. background = background.convert()
  9. background.fill((255,255,255)) #画布为白色
  10. screen.blit(background, (0,0)) #在绘图窗口绘制画布
  11. pygame.display.update() #更新绘图窗口
  12.  
  13. running = True
  14. while running: #创建循环来侦测鼠标事件
  15. for event in pygame.event.get():
  16. if event.type == pygame.QUIT: #用户单击关闭按钮
  17. running = False
  18. pygame.quit() #关闭绘图窗口

吴裕雄--天生自然python学习笔记:python 用pygame模块游戏开发的更多相关文章

  1. 吴裕雄--天生自然HADOOP学习笔记:hadoop集群实现PageRank算法实验报告

    实验课程名称:大数据处理技术 实验项目名称:hadoop集群实现PageRank算法 实验类型:综合性 实验日期:2018年 6 月4日-6月14日 学生姓名 吴裕雄 学号 15210120331 班 ...

  2. 吴裕雄--天生自然MySQL学习笔记:MySQL UPDATE 更新

    如果需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作. 语法 以下是 UPDATE 命令修改 MySQL 数据表数据的通用 SQL 语法: UPDATE table ...

  3. 吴裕雄--天生自然MySQL学习笔记:MySQL 插入数据

    MySQL 表中使用 INSERT INTO SQL语句来插入数据. 可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据. 以下为向MySQL数据表插入数据通 ...

  4. 吴裕雄--天生自然MySQL学习笔记:MySQL简介

    MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用 ...

  5. 吴裕雄--天生自然 oracle学习笔记:oracle理论学习详解及各种简单操作例子

    1. 数据库的发展过程 层次模型 -->网状模型 -->关系模型 -->对象关系模型 2. 关于数据库的概念 DB:数据库(存储信息的仓库) DBMS:数据库管理系统(用于管理数据库 ...

  6. 吴裕雄--天生自然HADOOP学习笔记:基本环境配置

    实验目的 学习安装Java 学习配置环境变量 学习设置免密码登陆的方法 掌握Linux环境下时间同步的配置 实验原理 1.Java的安装 java是大数据的黄金语言,这和java跨平台的特性是密不可分 ...

  7. 吴裕雄--天生自然HADOOP学习笔记:使用yum安装更新软件

    实验目的 了解yum的原理及配置 学习软件的更新与安装 学习源代码编译安装 实验原理 1.编译安装 前面我们讲到了安装软件的方式,因为linux是开放源码的,我们可以直接获得源码,自己编译安装.例如: ...

  8. 吴裕雄--天生自然HADOOP学习笔记:Shell工具使用

    实验目的 学习使用xshell工具连接Linux服务器 在连上的服务器中进入用户目录 熟悉简单的文件操作命令 实验原理 熟悉shell命令是熟悉使用linux环境进行开发的第一步,我们在linux的交 ...

  9. 吴裕雄--天生自然HTML学习笔记:HTML 布局

    网页布局对改善网站的外观非常重要. 请慎重设计您的网页布局. <!DOCTYPE html> <html> <head>  <meta charset=&qu ...

  10. 吴裕雄--天生自然MySQL学习笔记:MySQL 安装

    所有平台的 MySQL 下载地址为: MySQL 下载:https://dev.mysql.com/downloads/mysql/ 注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足 ...

随机推荐

  1. 每天一点点之vue框架开发 - vue坑-This relative module was not found

    94% asset optimization ERROR Failed to compile with 1 errors This relative module was not found: * . ...

  2. 读书笔记 - js高级程序设计 - 第三章 基本概念

    启用严格模式 "use strict" 这是一个 pragma 编译指示 让编码意图更清晰  是一个重要原则 5种简单数据类型 Undefined Null Boolean Num ...

  3. 在设备上启用 adb 调试,有一个小秘密

    要在通过 USB 连接的设备上使用 adb,您必须在设备的系统设置中启用 USB 调试(位于开发者选项下). 在搭载 Android 4.2 及更高版本的设备上,“开发者选项”屏幕默认情况下处于隐藏状 ...

  4. offsetof宏与container_of宏

    offsetof宏与container_of宏1.由结构体指针进而访问各元素的原理(1)通过结构体整体变量来访问其中各个元素,本质上是通过指针方式来访问的,形式上是通过.的方式来访问的(这个时候其实是 ...

  5. 编写注册表.reg文件

    Windows 中的注册表文件( system.dat 和 user.dat )是 Windows 的核心数据库,因此,对 Windows 来说是非常重要的. 通过修改注册表文件中的数据,可以达到优化 ...

  6. vi粘贴代码后格式混乱的问题

    最近在远程终端使用vi发现从其他地方复制代码的后,粘贴到vi里面出现格式变乱的问题. 主要是因为终端通常无法区分输入是来自用户输入还是来自粘贴,所以终端也不能通知 vim 输入来自何处.在 vim 里 ...

  7. js判断苹果和安卓端或者wp端

    最近做了一个H5,说要提供一个底部,可以区分安卓或者ios,到相应的网址进行下载APP,如图: 代码如下:  window.onload = function () { var u = navigat ...

  8. MySQL--Centos7下安装5.7.19

    https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html https://segmentfault.com/a/11900000 ...

  9. 问:为什么java是单继承,但却是多实现的呢?

    在学习的过程中,我发现了如题的这个有趣的问题. 单继承不必解释,一个类只能有一个直接父类:但是对于接口的实现,一个类却能够实现多个接口. 为什么是这种情况呢?我们来举个简单的栗子看一下: class ...

  10. PAT Basic 1007 素数对猜想 (20) [数学问题-素数]

    题目 让我们定义 dn 为:dn = pn+1 – pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数."素数对猜想"认为"存在⽆穷多对 ...