Python:pygame游戏编程之旅一(Hello World)
按照上周计划,今天开始学习pygame,学习资料为http://www.pygame.org/docs/,学习的程序实例为pygame模块自带程序,会在程序中根据自己的理解加入详细注释,并对关键概念做说明。
一、pygame版本的hello world程序。
代码:
- #!/usr/bin/python
- # -*- coding:utf-8 -*-
- import sys
- #导入pygame模块,第8行的作用是简化你的输入,如不用在event前再加上pygame模块名
- import pygame
- from pygame.locals import *
- def hello_world():
- #任何pygame程序均需要执行此句进行模块初始化
- pygame.init()
- #设置窗口的模式,(680,480)表示窗口像素,及(宽度,高度)
- #此函数返回一个Surface对象,本程序不使用它,故没保存
- pygame.display.set_mode((680, 480))
- #设置窗口标题
- pygame.display.set_caption('Hello World!')
- #循环,直到接收到窗口关闭事件
- while True:
- #处理事件
- for event in pygame.event.get():
- #接收到窗口关闭事件
- if event.type == QUIT:
- #退出
- pygame.quit()
- sys.exit()
- #将Surface对象上帝绘制在屏幕上
- pygame.display.update()
- if __name__ == "__main__":
- hello_world()
测试:

几点需要重点理解的地方:
1、无限循环
几乎每个pygame程序均需要它,在它中可以做以下事件:
a、处理事件
b、更新游戏状态
c、在屏幕上绘图
如下图:

2、pygame.event.get()
用来获取各种键盘及鼠标事件。
Python:pygame游戏编程之旅一(Hello World)的更多相关文章
- 【python游戏编程之旅】第七篇---pygame中的冲突检测技术
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 上一个博客我们一起学习了pygame中的Sprite模块和如何加载动画:http://www.cnblogs ...
- 【python游戏编程之旅】第八篇---pygame游戏开发常用数据结构
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 上一个博客我们一起学习了pygame中冲突检测技术:http://www.cnblogs.com/msxh/ ...
- 【python游戏编程之旅】第六篇---pygame中的Sprite(精灵)模块和加载动画
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 直到现在我们已经学了很多pygame基础知识了,从这篇博客开始我们将会学习pygame中高级部分,更多和精灵 ...
- 【python游戏编程之旅】第四篇---pygame中加载位图与常用的数学函数。
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame事件与设备轮询.http://www.cnblogs.com/msxh ...
- 【python游戏编程之旅】第三篇---pygame事件与设备轮询
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame中的IO.数据http://www.cnblogs.com/msxh/ ...
- 【python游戏编程之旅】第二篇--pygame中的IO、数据
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇中,我们介绍了pygame的入门操作http://www.cnblogs.com/msxh/p/49 ...
- 【python游戏编程之旅】第一篇---初识pygame
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 一.pygame简介 Pygame 是一组用来开发游戏软件的 Python 程序模块,基于 SDL 库的基础 ...
- 【python游戏编程之旅】第九篇---嗷大喵快跑小游戏开发实例
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 前几期博客我们一起学习了,pygame中的冲突检测技术以及一些常用的数据结构. 这次我们来一起做一个简单的酷 ...
- 【python游戏编程之旅】第五篇---嗷大喵爱吃鱼小游戏开发实例
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 我们一同在前几期的博客中已经学到了很多pygame的基本知识了,现在该做个小游戏实战一下了. 前几期博客链接 ...
- python+pygame游戏开发之使用Py2exe打包游戏
最近在用python+pygame 开发游戏,写完以后在分享给朋友玩的时候遇到了很大的问题,只有搭建了环境才能运行python脚本. 这会吓退99%以上的人……所以把我们的游戏打包(注意是打包而不是编 ...
随机推荐
- python requests 报错 Caused by ProxyError ('Unable to connect to proxy', OSError('Tunnel connection failed: 403 Tunnel or SSL Forbidden'))
背景:访问https接口,使用http代理 版本:requests: 2.31.0 从报错可以看出,是proxy相关的报错 调整代码,设定不使用代理,将http与https对应的proxy值置空即可( ...
- IP服务正常,域名服务异常,报400 badrequest
IP的情况下,访问接口都正常,使用域名访问,报错400 badrequest 经确认,ssl配置无问题,证书文件本身无问题 最后查出来原因,是域名格式的问题,原域名中包含_,需要修改为- 排查过程: ...
- 结合mysql 架构分析SQL查询语句和更新语句的执行
结合mysql 架构分析SQL查询语句和更新语句的执行 一:基础架构 mysql分为Server层和存储引擎层 Server层 涵盖了大多数mysql的核心服务功能,以及所有内置的函数(例如日期.加密 ...
- Docker 知识梳理及其安装使用
Docker 介绍 Docker 是一个强大的工具,用于高效开发.打包和部署应用程序.Docker 是一种容器管理服务.Docker 于 2013 年发布.它是开源的,可用于 Windows.macO ...
- OData – Custom Serialize & Deserialize
前言 本来计划用 Custom Serialize 来解决 OData 不支持 [JsonPropertyName] 的问题. 但是后来发现 Custom Serialize 并不能解决这个问题. C ...
- Figma 学习笔记 – Interactive Components
参考: Input Field Interaction using Interactive Components in Figma Create interactive components with ...
- SuperMap iServer&iPortal&iEdge结合CAS 5.3服务器实现单点登录
2023-10-19 更新,由于阿里云maven镜像仓库里缺失了很多CAS5.3 依赖,如果缺少可以用附件里的同步到本地仓库 链接:https://pan.baidu.com/s/14DhRci_Am ...
- pstore
简介 pstore文件系统(是的,这是个文件系统)是Persistent Storage的缩写,最早在2010年由 Tony Luck 设计并合入Linux主分支,设计的初衷是在内核Panic/Oop ...
- 怎么封装axios
首先,单独创建一个request的js文件,导入axios 然后,创建 axios 实例 request = axios.create 可以写基本地址,超时时间等: 后面可以添加拦截器,可以在请求拦截 ...
- 75.cancat是否会改变原数组
cancat 用来链接 2 个数组,不会改变原数组 :