pygame初探

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返回的矩形区域)

 

效果是:图片跟随鼠标刷新

 

坚持原创技术分享,您的支持将鼓励我继续创作!