Pygame是跨平台Python模块,专为电子游戏设计。包含图像、声音。
要使用pygame主页下载并安装pygame,windows平台直接安装即可。
我使用的是eclipse环境,然后需要重新设置下引用包[详见python引用第三方包],重启eclipse就可以使用了。
pygame主要有以下功能模块
- pygame.cdrom 访问光驱
- pygame.cursors 加载光标
- pygame.display 访问显示设备
- pygame.draw 绘制形状、线和点
- pygame.event 管理事件
- pygame.font 使用字体
- pygame.image 加载和存储图片
- pygame.joystick 使用游戏手柄或者类似的东西
- pygame.key 读取键盘按键
- pygame.mixer 声音
- pygame.mouse 鼠标
- pygame.movie 播放视频
- pygame.music 播放音频
- pygame.overlay 访问高级视频叠加
- pygame 就是我们在学的这个东西了……
- pygame.rect 管理矩形区域
- pygame.sndarray 操作声音数据
- pygame.sprite 操作移动图像
- pygame.surface 管理图像和屏幕
- pygame.surfarray 管理点阵图像数据
- pygame.time 管理时间和帧信息
- pygame.transform 缩放和移动图像
下面的例子是Python基础教程的例子的改写import sys, pygame
from pygame.locals import *
from random import randrange
class Weight(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
# image and rect used when drawing sprite:
self.image = weight_image
self.rect = self.image.get_rect()
self.reset()
def reset(self):
"""
Move the weight to a random position at the top of the screen.
"""
self.rect.top = -self.rect.height
self.rect.centerx = randrange(screen_size[0])
def update(self,x,y):
"""
Update the weight for display in the next frame.
"""
self.rect.x = x
self.rect.y = y
self.rect.top += 1
if self.rect.top > screen_size[1]:
self.reset()
Initialize things
pygame.init()
screen_size = 800, 600
pygame.display.set_mode(screen_size, FULLSCREEN)
pygame.mouse.set_visible(0)
Load the weight image
weight_image = pygame.image.load(‘1.jpg’)
weight_image = weight_image.convert() # …to match the display
Create a sprite group and add a Weight
sprites = pygame.sprite.RenderUpdates()
sprites.add(Weight())
Get the screen surface and fill it
screen = pygame.display.get_surface()
white = (255, 255, 255)
screen.fill(white)
pygame.display.flip()
while 1:
# Check for quit events:
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
if event.type == KEYDOWN and event.key == K_ESCAPE:
sys.exit()
# Update all sprites:
(x,y)=pygame.mouse.get_pos()
sprites.update(x,y)
# Draw all sprites:
updates = sprites.draw(screen)
# Update the necessary parts of the display:
pygame.display.update(updates)</pre>
1.初始化pygame主框架
2.载入图像
3.使用Sprite类子类实例
4.pygame.event.get获取事件,
5.调用sprite组的clear和update对象
6.使用屏幕表面作为参数调用sprites.draw
7.更新显示(根据sprites.draw返回的矩形区域)