按照上周计划,今天开始学习pygame,学习资料为http://www.pygame.org/docs/,学习的程序实例为pygame模块自带程序,会在程序中根据自己的理解加入详细注释,并对关键概念做说明。

一、pygame版本的hello world程序。

代码:

  1. #!/usr/bin/python
  2. # -*- coding:utf-8 -*-
  3. import sys
  4. #导入pygame模块,第8行的作用是简化你的输入,如不用在event前再加上pygame模块名
  5. import pygame
  6. from pygame.locals import *
  7. def hello_world():
  8. #任何pygame程序均需要执行此句进行模块初始化
  9. pygame.init()
  10. #设置窗口的模式,(680,480)表示窗口像素,及(宽度,高度)
  11. #此函数返回一个Surface对象,本程序不使用它,故没保存
  12. pygame.display.set_mode((680, 480))
  13. #设置窗口标题
  14. pygame.display.set_caption('Hello World!')
  15. #循环,直到接收到窗口关闭事件
  16. while True:
  17. #处理事件
  18. for event in pygame.event.get():
  19. #接收到窗口关闭事件
  20. if event.type == QUIT:
  21. #退出
  22. pygame.quit()
  23. sys.exit()
  24. #将Surface对象上帝绘制在屏幕上
  25. pygame.display.update()
  26. if __name__ == "__main__":
  27. hello_world()

测试:

几点需要重点理解的地方:

1、无限循环

几乎每个pygame程序均需要它,在它中可以做以下事件:

a、处理事件

b、更新游戏状态

c、在屏幕上绘图

如下图:

2、pygame.event.get()

用来获取各种键盘及鼠标事件。

Python:pygame游戏编程之旅一(Hello World)的更多相关文章

  1. 【python游戏编程之旅】第七篇---pygame中的冲突检测技术

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 上一个博客我们一起学习了pygame中的Sprite模块和如何加载动画:http://www.cnblogs ...

  2. 【python游戏编程之旅】第八篇---pygame游戏开发常用数据结构

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 上一个博客我们一起学习了pygame中冲突检测技术:http://www.cnblogs.com/msxh/ ...

  3. 【python游戏编程之旅】第六篇---pygame中的Sprite(精灵)模块和加载动画

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 直到现在我们已经学了很多pygame基础知识了,从这篇博客开始我们将会学习pygame中高级部分,更多和精灵 ...

  4. 【python游戏编程之旅】第四篇---pygame中加载位图与常用的数学函数。

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame事件与设备轮询.http://www.cnblogs.com/msxh ...

  5. 【python游戏编程之旅】第三篇---pygame事件与设备轮询

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame中的IO.数据http://www.cnblogs.com/msxh/ ...

  6. 【python游戏编程之旅】第二篇--pygame中的IO、数据

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇中,我们介绍了pygame的入门操作http://www.cnblogs.com/msxh/p/49 ...

  7. 【python游戏编程之旅】第一篇---初识pygame

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 一.pygame简介 Pygame 是一组用来开发游戏软件的 Python 程序模块,基于 SDL 库的基础 ...

  8. 【python游戏编程之旅】第九篇---嗷大喵快跑小游戏开发实例

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 前几期博客我们一起学习了,pygame中的冲突检测技术以及一些常用的数据结构. 这次我们来一起做一个简单的酷 ...

  9. 【python游戏编程之旅】第五篇---嗷大喵爱吃鱼小游戏开发实例

    本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 我们一同在前几期的博客中已经学到了很多pygame的基本知识了,现在该做个小游戏实战一下了. 前几期博客链接 ...

  10. python+pygame游戏开发之使用Py2exe打包游戏

    最近在用python+pygame 开发游戏,写完以后在分享给朋友玩的时候遇到了很大的问题,只有搭建了环境才能运行python脚本. 这会吓退99%以上的人……所以把我们的游戏打包(注意是打包而不是编 ...

随机推荐

  1. 【题目全解】ACGO挑战赛#8

    前言:本次挑战赛的难度相较于前面几期有所提升,主要还是因为集训的关系,出题组的成员们没有充裕的时间想原创题目(so,只能原模原样搬运某一场 ABC 的考试了.)Anyway,AK 了就行. 备注:由于 ...

  2. 在stable diffussion中控制生成图片的光线

    在摄影中,光线起着至关重要的作用,它对图像的整体质量和氛围有着显著的影响.您可以使用光线来增强主题,创造深度和维度,传达情感,以及突出重要细节. 在这篇文章中,我会告诉你如何在stable diffu ...

  3. CPP在内网穿透技术的思考

    概述 内网穿透是一种技术,用于在私有局域网(LAN)中的设备与外部网络(如互联网)之间建立通信通道,使得外部设备可以访问内网中的服务.由于内网设备通常位于防火墙或 NAT(网络地址转换)设备之后,外部 ...

  4. 深入理解 Nuxt.js 中的 app:created 钩子

    title: 深入理解 Nuxt 中的 app created 钩子 date: 2024/9/26 updated: 2024/9/26 author: cmdragon excerpt: 摘要:本 ...

  5. Kubernetes DaemonSet 控制器(二十二)

    通过该控制器的名称我们可以看出它的用法:Daemon,就是用来部署守护进程的,DaemonSet用于在每个 Kubernetes 节点中将守护进程的副本作为后台进程运行,说白了就是在每个节点部署一个 ...

  6. 墨天轮沙龙 | 麦杰科技卢学东:openPlant 实时数据库系统及应用

    在8月24日举办的[墨天轮数据库沙龙第九期-工业实时数据库专场]中,麦杰科技创始人 卢学东分享了<麦杰openPlant实时数据库系统及应用>主题演讲,本文为整理内容. 导读 工业互联网推 ...

  7. 1. java + react 实现 HRM

    1. 云服务的三种方式 1.1 IAAS 基础设施即服务 ,只会提供基础的设施,eg:服务器,网络等 : 1.2 PAAS 平台即服务 ,提供平台,可以把自己写好的代码部署到平台上 : 1.3 SAA ...

  8. Android复习(四)权限—>定义自定义应用权限

    定义自定义应用权限 本文档介绍了应用开发者如何使用 Android 提供的安全功能来定义自己的权限.通过定义自定义权限,应用可以与其他应用共享其资源和功能.如需详细了解权限,请参阅权限概览. 背景 A ...

  9. 装有docker的虚拟机环境ping宿主机失败

    当我用docker network create 创建了一个网络后 [root@localhost ~]# docker network create kong-net 5c035564f9b4649 ...

  10. ASP.NET实现网站发布及跨域访问

    1.软件下载及安装 visual studio 2012 or 2013 启用电脑IIS配置 2.网页编写及排版 在visual studio中创建web项目添加aspx页面(个人网页:和html差不 ...