一.pygame的简介
pygame是跨平台Python模块,专为电子游戏设计。包含图像、声音。创建在SDL基础上,允许实时电子游戏研发而无需被低端语言,如C语言或是更低端的汇编语言束缚。基于这样一个设想,所有需要的游戏功能和理念都(主要是图像方面)完全简化位游戏逻辑本身,所有的资源结构都可以由高级语言提供,如Python。
二.pygame的安装
方式一:
在安装python并有网的情况下,打开cmd,输入pip install pygame
命令即可自动下载安装pygame。
方式二:
可以去pygame官网http://www.pygame.org/download.shtml下载,也可以去下面下载地址: https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame。根据自己所使用的操作系统版本和python版本 、不同安装选择下载文件,本人下载的文件及版本是pygame-1.9.6-cp36-cp36m-win32.whl。从cmd的命令提示符窗口中,进入pygame文件下载目录,输入安装命令: pip install pygame-1.9.6-cp36-cp36m-win32.whl
。
安装完成后,在cmd输入python -m pygame.examples.aliens
命令即可打开pygame的一个内置游戏。
三.pygame的最小开发框架
Import pygame,sys
pygame.init()
screen = pygame.display.set_mode((600,400))
pygame.display.set_caption(“pygame游戏之旅”)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
pygame.display.update()
1.引入pygame和sys
import pygame,sys
sys是python的标准库
sys提供python运行时环境变量的操控
sys.exit()
用于结束游戏并退出
2.初始化init()及设置
pygame.init()
screen = pygame.display.set_mode((600,400))
pygame.display.set_caption(“pygame游戏之旅”)
pygame.init()
对pygame内部各功能模块进行初始化创建及变量设置,默认调用。
pygame.display.set_mode(size)
初始化显示窗口,第一个参数size是一个二值元组,分别表示窗口的宽度和高度。
e.g.:设置窗口宽为600,高为400。
pygame.display.set_mode((600,400))或
size = width,height = 600,400
pygame.display.set_mode(size)
pygame.display.set_caption(“标题”)
给窗口设置标题,显示在左上角位置。
3.获取事件并逐类响应
While True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
while True:
无限循环,直到python运行时退出结束。
pygame.event.get()
从pygame的事件队列中取出事件,并从
队列中删除该事件,例如:键盘按下是一个事件。
event.type
获取事件类型,并逐类响应。
pygame.QUIT
是pygame中定义的退出事件常量。
4.刷新屏幕
pygame.display.update()
pygame.display.update()
对显示窗口进行更新,默认窗口全部重绘。与pygame.display.flip()
的区别就是它可以局部更新。如果在括号里添加对象,则只更新括号里的那个对象。
四.pygame的模块概览
五.主要模块介绍
1.屏幕绘制
屏幕尺寸和模式
pygame.display.set_mode()
设置相关屏幕模式
pygame.display.Info()
生成屏幕相关信息、
窗口标题和图标
pygame.display.set_caption()
设置标题信息
pygame.display.set_icon()
设置图标信息
pygame.display.get_caption
获得图标
窗口感知和刷新
pygame.display.get_active()
pygame.display.flip()
pygame.display.update()
pygame.display.Info()
产生一个显示信息对象VideoInfo,表达当前屏幕的参数信息。如果在.set_mode()之前调用,则显示当前系统显示参数信息。参数很多,其中有两个十分重要,如下:current_w、current_h分别表示当前显示模式或窗口的像素宽度和高度。配合print()即可打印到控制台。
e.g.:print(pygame.display.Info())打印当前屏幕参数信息
print(pygame.display.Info().current_w)打印当前屏幕的宽
screen.get_width(),ball.get_height()获得该对象的宽、高等
pygame.VIDEORESIZE
这是一种窗口大小更改的事件。事件发生后,返回event.size元组,包含新窗口的宽度和高度。event.size[0]为宽度,也可以用event.w;event.size[1]为高度,也可以用event.h。返回参数仅在事件发生时使用。
pygame.display.set_caption(title,icontitle=None)
title设置窗口的标题内容,icontitle设置图标化后的小标题。小标题可选,部分系统没有。
pygame.