Pygame是一组功能强大而有趣的模块,可用于管理图形、动画乃至声音,可以让我们很轻松的开发复杂的游戏。通过使用Pygame来处理在屏幕上绘制图像等任务,不用考虑众多繁琐而艰难的编码的工作,而是将重点放在程序的高级逻辑上。

安装Python

官网地址:https://www.python.org/downloads/

本系列博文使用的是Python3.6.8

64位系统可以下载Windows x86-64 executable installer,下载完成后双击Python安装包,然后通过图形界面安装,接着设置Python的安装路径,完后将Python3和Python3的Scripts目录配置到环境变量即可。

安装Pygame

地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame,下载与Python版本对应的版本

最后确认是否正确安装:

创建Pygame窗口以及响应用户输入

from sys import exit  # 导入sys库中的exit函数import pygame  # 导入pygame库
from pygame.locals import *  # 导入pygame库中的一些常量# 定义窗口的分辨率
SCREEN_WIDTH = 480
SCREEN_HEIGHT = 320def run_game():# 初始化游戏并创建一个屏幕对象pygame.init()# 初始化一个用于显示的窗口# 对象screen是一个surface,在Pygame中,surface是屏幕的一部分,用于显示游戏元素# 这里pygame.display.set_mode()返回的surface表示整个游戏窗口screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))# 设置窗口标题pygame.display.set_caption("This is my first pygame-program")# 开始游戏的主循环while True:# 监视键盘和鼠标事件# 从消息队列中循环取for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()run_game()

程序运行结果如下:

pygame.display.flip() :在这里,它在每次执行while循环时都绘制一个空屏幕,并擦去旧屏幕,使得只有新屏幕可见。在我们移动游戏元素时,pygame.display.flip()将不断更新屏幕,以显示元素的新位置,并在原来的位置隐藏元素,从而营造平滑移动的效果。

设置背景图片

from sys import exit  # 导入sys库中的exit函数import pygame  # 导入pygame库
from pygame.locals import *  # 导入pygame库中的一些常量# 定义窗口的分辨率
SCREEN_WIDTH = 480
SCREEN_HEIGHT = 320# 载入背景图
background = pygame.image.load('resources/image/background.jpg')def run_game():# 初始化游戏并创建一个屏幕对象pygame.init()# 初始化一个用于显示的窗口screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))# 设置窗口标题pygame.display.set_caption("This is my first pygame-program")# 开始游戏的主循环while True:# 绘制背景screen.blit(background, (0, 0))# 更新屏幕pygame.display.update()# 监视键盘和鼠标事件# 从消息队列中循环取for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()run_game()

运行效果如下:

设置背景色

from sys import exit  # 导入sys库中的exit函数import pygame  # 导入pygame库
from pygame.locals import *  # 导入pygame库中的一些常量# 定义窗口的分辨率
SCREEN_WIDTH = 480
SCREEN_HEIGHT = 320# 载入背景图
# background = pygame.image.load('resources/image/background.jpg')# 设置背景色
bg_color = (250, 0, 0)def run_game():# 初始化游戏并创建一个屏幕对象pygame.init()# 初始化一个用于显示的窗口screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))# 设置窗口标题pygame.display.set_caption("This is my first pygame-program")# 开始游戏的主循环while True:# # 绘制背景# screen.blit(background, (0, 0))# # 更新屏幕# pygame.display.update()# 监视键盘和鼠标事件# 从消息队列中循环取for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()# 每次循环时都会重绘屏幕,此处用背景色填充屏幕screen.fill(bg_color)# 局部刷新,pygame.display.flip()是屏幕的整体刷新pygame.display.update()run_game()

运行效果如下:

Python游戏编程入门(一)——初识Pygame相关推荐

  1. 《Python游戏编程入门》——1.2 初识Python

    本节书摘来自异步社区<Python游戏编程入门>一书中的第1章,第1.2节,作者[美]Jonathan S. Harbour ,李强 译,更多章节内容可以访问云栖社区"异步社区& ...

  2. pygame 学习笔记(4)推荐一本python入门游戏书籍《PYTHON游戏编程入门》

    简介 <PYTHON游戏编程入门>(More Python Programming for the Absolute Beginner)是 S.Harbour写的一本入门书籍,基于pyga ...

  3. python游戏编程入门-python游戏编程入门

    <Python游戏编程入门> 这些文章负责整理在这本书中的知识点.注意事项和课后习题的尝试实现. 并且对每一个章节给出的最终实例进行分析和注释. 初识pygame:pie游戏 pygame ...

  4. python游戏编程入门 免费-python游戏编程入门 python游戏编程入门课

    python游戏编程入门 python游戏编程入门课 什么是python游戏编程入门?首先我们需要认识什么是Python Python既是一个软件工具包,也是一种语言.Python软件包包含了一个名为 ...

  5. 青少年Python游戏编程入门(Beginning Game Programming for Teens with Python译文)

    青少年Python游戏编程入门 Beginning Game Programming for Teens with Python   Julian Meyer on January 22, 2013 ...

  6. python游戏编程入门免费_python游戏编程入门 python游戏编程入门课

    python游戏编程入门 python游戏编程入门课 什么是python游戏编程入门?首先我们需要认识什么是Python Python既是一个软件工具包,也是一种语言.Python软件包包含了一个名为 ...

  7. python游戏编程入门p_Python游戏编程入门 PDF高清完整版

    Python游戏编程入门 PDF高清完整版 作者: 哈伯 (Jonathan S.Harbour) 译者: 李强 出版年: 2015-1-1 页数: 292 装帧: 平装 ISBN: 97871153 ...

  8. python游戏编程入门源代码_python游戏编程入门源代码

    [实例简介] <Python游戏编程入门>的源代码,作者Jonathan S.Harbour 很好的资源,希望对学习python的同学有帮助,代码都可以运行 [实例截图] [核心代码] p ...

  9. python游戏编程入门下载-Python游戏编程入门 中文pdf扫描版|网盘下载内附地址提取码|...

    Python是一种解释型.面向对象.动态数据类型的程序设计语言,在游戏开发领域,Python也得到越来越广泛的应用,并由此受到重视. 本书教授用Python开发精彩游戏所需的[]为重要的该你那.本书不 ...

  10. Python游戏编程(九)pygame Hello World

    我们通过使用pygame模块,创建一些带有图形和声音的.更有趣的高级游戏. 目录 主要内容 pygame Windows安装pygame 使用pygame pygame Hello World (一) ...

最新文章

  1. [BTS2004]一步一步学习BizTalk2004 CBR(content-based routing)
  2. 鲲鹏服务器设置ip文件,IPFS在鲲鹏云服务器中的安装与编译过程记录
  3. Python 办公自动化之一 Excel
  4. 十三种技术文档模板_在线文档,知多少?
  5. Java共现矩阵的构建(用于社交网络结构分析)
  6. bzoj 1026: [SCOI2009]windy数(数位dp)
  7. char数组打印地址和内容;
  8. paypal支付详细指南:基于PayPal-PHP-SDK进行接口对接
  9. 使用 python 批量移动文件夹下的文件
  10. 番子和滑条_中国细犬中的滑条和番子有哪些区别?不妨看看,看完后明白了!...
  11. STL容器底层实现数据结构
  12. 使用线程池批量爬取梨视频最热视频
  13. CSU 1224 ACM小组的古怪象棋
  14. 孤岛惊魂5 for Android,孤岛惊魂5手机版
  15. 有效的括号(leetcode简单)
  16. 美丽中国,我们在行动!
  17. php 循环结构的联系题,php - 烧脑题,有一个程序循环逻辑问题,急在线等
  18. IOS 原生二维码、条形码扫描for IOS7 (八)
  19. Android实战简易教程-第六十六枪(服务器端搭建和服务器端Json数据交互)
  20. 论述人工智能在电气工程自动化中的运用

热门文章

  1. CMS内容管理系统可行性分析
  2. matlab能替代几何画板吗,比几何画板更强大的工具软件GeoGebra,数学老师值得拥有...
  3. 电机学(2) - 变压器
  4. 懒人神器——自制自动写字机
  5. C# Aspose 去除水印 亲测有效!!!(有效测试时间:20220806)
  6. 根据省份名称返回省份简称(js代码)
  7. Windows Server 2003 安装教程
  8. Ubuntu安装GCC 3.4
  9. FlightGear的IO系统
  10. python一年365天_GitHub - yihong0618/Python365: Python365天精进计划