安装pygame

windows下安装pygame下载后找到的是.whl文件,就将他赋值到你的项目文件夹中,运行cmd,切换到改文件所在的文件夹,并使用pip运行它。
运行命令如下:

python -m pip install --user pygame-1.9.2-cp35-cp35m-win_amd64.whl

  • 不过要注意的是这个pygame兼容的是python3.5版本的,所以需要下载python3.5的来编程。我原先是python3.6所以也遇到pip失败,无法运行pygame的问题。

RGN设置

模块pygame包含开发游戏所需功能。模块sys用来退出游戏。
Pygame中,颜色是以RGB值指定的。由红、绿、蓝色组成。每个值的取值范围都是0~255。
颜色值(255,0,0)表示红色。
颜色值(0,255,0)表示绿色。
颜色值(0,0,255)表示蓝色。

pygame中的模块

1. display模块

  • pygame.display.set_mode((1200,800))创建显示窗口大小为(1200,800).
  • pygame.display.set_mode()返回的surface表示整个游戏窗口。
  • pygame.display.flip()将不断更新屏幕,以显示元素的新位置,并在原来的位置隐藏元素,从而营造平滑移动的效果。

2. surface对象

surface是屏幕的一部分。

  • surface.blit(rect1,rect2)表示的是rect1画在rect2之上
  • surface.fill(color)用背景色填充屏幕。color是接受RGB元组的实参。
  • pygame.display.set_mode()返回的surface表示整个游戏窗口。
  • pygame.image.load(“src”)返回的是指定目录图片的surface对象

3.rect对象

rect对象是surface中的属性
rect中有四个属性
left, top, width/right, height/bottom

  • surface.get_rect()
    返回的是调用实例即为surface对象的rect对象

  • 要将surface对象居中,设置相应rect对象的属性center、centerx或centery 其中centerx、centery只能存储整数值,而center可以存储小数值

  • 要让游戏元素于屏幕边缘对齐,可使用属性top、bottom、left或right

  • 要调整游戏元素的水平或垂直位置,可是使用属性x或y

4. event模块

  • pygame.event.get()获得被注册的事件。
    每次按键被按下时都会被注册为一个KEYDOWN事件
    每次按键被松开时都会被注册为一个KEYUP事件、结合moving_方向的标志来实现持续移动。
  • event.type是返回event的类型
  • event.key是返回event类型的
#在每次的主循环中检测事件
while True:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()
```elif event.type == pygame.KEYDOWN:if event.key == pygame.K_RIGHT:weisuo.rect.centerx += 1elif event.key == pygame.K_LEFT:weisuo.rect.centerx -= 1创建ship类```python
import pygame
class Ship():def __init__(self,screen):'''初始化飞船并设置其初始位置'''self.screen = screen#加载飞船图像并返回获取一个表示飞船的surfaceself.image = pygame.image.load("images/ship.bmp")#获取相应surface的属性rectself.rect = self.image.get_rect()#获取表示屏幕的矩形rectself.screen_rect = screen.get_rect()'''使其与屏幕下边缘对齐并水平居中'''#将每艘新飞船放在屏幕底部中央(screen_rect.centerx:是指飞船中心的x坐标)self.rect.centerx = self.screen_rect.centerx#(screen_rect.bottom:是指飞船下边缘的y坐标)self.rect.bottom = self.screen_rect.bottomdef blitme(self):'''在指定位置绘制飞船,位置是根据rect中设置好的属性。'''self.screen.blit(self.image,self.rect)

以向右为例:按下右箭头键时,我们将这个标志设置为True;而松开时将标志重新设置为False

5.sprite模块

pygame.sprite.Sprite就是Pygame里面用来实现精灵的一个类,使用时,并不需要对它实例化,只需要继承他,然后按需写出自己的类就好了,因此非常简单实用。

  • update方法:适用于控制sprite对象行为的方法。基类中该方法没有任何实现这是等着我们自己去覆盖的。
  • add方法:将该sprite对象增加到group中,存疑。
  • remove方法:sprite对象会从group中删掉。
  • kill方法:将该sprite对象从所有groups中删掉。
  • groups方法:返回sprite对象所在的所有组。
  • alive方法:判断sprite方法是否还在组中。
  • pygame.sprite.groupcollide()在所有的精灵遍历查找是否有两个组互相重叠,若有就在它返回的字典中添加一个键值对。
  • pygame.sprite.spritecollideany(sprite,group) 接受两个实参:一个精灵和一个编组。它检查编组是否有成员与精灵发生碰撞,并在找到与精灵发生了碰撞的成员后就停止遍历编组。若发生了碰撞,返回第一个与sprite发生碰撞的group。若没发生碰撞 ,返回None。 这个方法主要用于测试。

5.1 pygame.sprite.Group类

精灵组管理类,用来统一管理所有的精灵,它很适合处理精灵列表,有添加,移除,绘制,更新等方法。

6.draw模块

  • pygame.draw.rect()
    draw a rectangle
  • pygame.draw.rect(surface, color, rect)-> Rect
  • pygame.draw.rect(surface, color, rect, width=0) -> Rect
    这里是用draw模块在surface屏幕上画出一个color长方形rect,形参surface是主屏幕,rect是要画的矩形。

7.font模块

pygame模块学习相关推荐

  1. python的pygame模块详解_python游戏模块学习之pygame常规操作讲解

    pygame常规操作 导入模块 import pygame # 导入pygame模块 from sys import exit # 导入退出鼠标点击事件 from math import pi # 导 ...

  2. Python游戏开发,pygame模块,Python实现打砖块小游戏

    前言: 本期我们将利用python制作一个打砖块小游戏,废话不多说,让我们愉快地开始吧~ 效果展示 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RdjcY4gn-16 ...

  3. Python游戏开发,pygame模块,Python实现过迷宫小游戏

    前言 今天为大家带来解闷用的过迷宫小游戏分享给大家好了.让我们愉快地开始吧~ 效果展示 开发工具 Python版本: 3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. 环境 ...

  4. 用python+pygame模块实现一波刮刮卡效果,图像处理之路(附源码)

    前言 利用python模拟了刮开刮刮卡效果,让我们愉快地开始吧~ 效果展示 开发工具 Python版本: 3.6.4 相关模块: pygame模块: 以及一些python自带的模块. 环境搭建 安装P ...

  5. pip install pygame_使用 Python 和 Pygame 模块构建一个游戏框架!

    这系列的第一篇通过创建一个简单的骰子游戏来探究 Python.现在是来从零制作你自己的游戏的时间. 在我的这系列的第一篇文章 中, 我已经讲解如何使用 Python 创建一个简单的.基于文本的骰子游戏 ...

  6. pygame为游戏添加背景_万能的Python和Pygame模块构建一个游戏框架

    通过创建一个简单的骰子游戏来探究 Python.现在是来从零制作你自己的游戏的时间. 在我的这系列的第一篇文章中, 我已经讲解如何使用 Python 创建一个简单的.基于文本的骰子游戏.这次,我将展示 ...

  7. python pygame模块怎么写游戏_使用 Python 和 Pygame 模块构建一个游戏框架

    这系列的第一篇通过创建一个简单的骰子游戏来探究 Python.现在是来从零制作你自己的游戏的时间. 在我的这系列的第一篇文章 中, 我已经讲解如何使用 Python 创建一个简单的.基于文本的骰子游戏 ...

  8. python中的pygame模块使用方法_Pygame的基本使用

    Pygame有很多模块,每个模块又有很多方法,在此不能够逐一讲解,所以,我们通过一个实例来学习Pygame,然后再分解代码,讲解代码中的模块. 例:制作一个跳跃的小球游戏. 创建一个游戏窗口,然后在窗 ...

  9. python3实例车代码_Python编程pygame模块实现移动的小车示例代码

    Pygame是跨平台Python模块,专为电子游戏设计,包含图像.声音.建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚. 最近一个星期学习了一下python的py ...

  10. pygame为游戏添加背景_为游戏添加背景使用Python和Pygame模块构建一个游戏框架

    这系列的第一篇通过创建一个简单的骰子游戏来探究 Python.现在是来从零制作你自己的游戏的时间. 在我的这系列的第一篇文章 中, 我已经讲解如何使用 Python 创建一个简单的.基于文本的骰子游戏 ...

最新文章

  1. 4.QT4中的connect的实现
  2. 简析并查集[C/C++]
  3. UIControl事件---iOS-Apple苹果官方文档翻译
  4. winform直接控制云台_速学指南,2分钟学会Feiyu pocket口袋云台的隐藏功能操作
  5. python 公众号菜单_Python脚本--微信公众号自定义菜单的创建及获取
  6. 数据结构之查找算法:B树
  7. 吐血整理!12种通用知识图谱项目简介
  8. 微软发布面向企业区块链网络的Coco Framework
  9. Kaggle 商品销量预测季军方案出炉,应对时间序列问题有何妙招
  10. 2019湖南多校第四场
  11. Better Explained 以通俗易懂的语言阐释数学
  12. IDEA构建JDK_1.8源码阅读环境过程详解
  13. 连载31:软件体系设计新方向:数学抽象、设计模式、系统架构与方案设计(简化版)(袁晓河著)...
  14. getDerivedStateFromProps填坑
  15. lan和adsl是什么信号_光纤、以太网、ADSL上网有什么区别?
  16. 固态加装机械计算机不显示,笔记本电脑装了固态硬盘,机械硬盘却无法识别
  17. 相机光学(五)——对运动物体的曝光时间的计算
  18. linux安装识别不到scsi硬盘,Linux下不重起识别SCSI硬盘
  19. Android隐藏状态栏实现沉浸式体验
  20. 常见电路面试题20道

热门文章

  1. 【笔试面试】携程笔试面试注意事项
  2. Unity 通过代码修改材质球属性
  3. 浅谈大数据时代之影响力
  4. 定义一个数组,里面存放星期一、星期二…… 直到星期日的英语写法,分别按倒序和排序后的顺序显示 数组所有元素。
  5. Addressing Failure Prediction by Learning Model Confidence
  6. python arp断网攻击_ARP断网攻击怎么解决
  7. 解决mysql 1864 主从错误
  8. ios怎么更新测试软件,苹果iOS13 beta3测试版升级教程 iOS13 beta3更新方法
  9. 云服务器与实体服务器性能,实体服务器和云服务器 的利与弊
  10. 听听那冷雨 -- 余光中