Crossin先生的微信打飞机游戏(1)

来源:互联网 发布:java工程师需要考证吗 编辑:程序博客网 时间:2024/04/29 09:30

前几天在Crossin先生的微信号上看到了这个用Pygame写的微信飞机大战游戏,因为之前有玩过,而且和好友打榜打的厉害,所以有兴趣来用python复现一下。

   

  


用pygame的库来制作这个游戏并不难,我也是跟着crossin先生一步步做的,第一节课的内容就是加载游戏背景:

# -*- coding: utf-8 -*-import pygamefrom sys import exitpygame.init()screen = pygame.display.set_mode((400, 800), 0, 32)pygame.display.set_caption("Plane!")background = pygame.image.load('bg.jpg').convert()while True:    for event in pygame.event.get():        if event.type == pygame.QUIT:            pygame.quit()            exit()    screen.blit(background, (0, 0))    pygame.display.update()
这段代码即可实现加载背景的功能,讲一下其中的一些函数:
  • set_mode:用来返回一个Surface对象,这个函数有三个参数,第一个必须为元组,表示对象的分辨率,第二个是标志位,具体代表意思如下表,若不采用特性就设置为0,最后一位表示色深。
标志位功能FULLSCREEN创建一个全屏窗口DOUBLEBUF创建一个“双缓冲”窗口,建议在HWSURFACE或者OPENGL时使用HWSURFACE创建一个硬件加速的窗口,必须和FULLSCREEN同时使用OPENGL创建一个OPENGL渲染的窗口RESIZABLE创建一个可以改变大小的窗口NOFRAME创建一个没有边框的窗口
  • convert:用来将图像数据转换为Surface对象,加载完图像后一般都需要使用这个函数,还有一个类似的函数convert_alpha(),与convert()相比,它保留了图片透明部分的通道(在后面的飞机图片中会用到),这样光标才可以是不规则的形状。
  • blit:第一个参数为一个Surface对象,第二个为左上角位置。画完以后一定记得用update更新一下,否则画面会一片漆黑。
Crossin先生的第一节课结束了,没毛病。

(这是游戏素材的图片,包括接下来所需要的都在里面了)
http://download.csdn.net/detail/heart_to_heart/9545566


0 0