Crossin先生的微信打飞机游戏(1)
2016-06-07 18:28
465 查看
前几天在Crossin先生的微信号上看到了这个用Pygame写的微信飞机大战游戏,因为之前有玩过,而且和好友打榜打的厉害,所以有兴趣来用python复现一下。
用pygame的库来制作这个游戏并不难,我也是跟着crossin先生一步步做的,第一节课的内容就是加载游戏背景:
set_mode:用来返回一个Surface对象,这个函数有三个参数,第一个必须为元组,表示对象的分辨率,第二个是标志位,具体代表意思如下表,若不采用特性就设置为0,最后一位表示色深。
convert:用来将图像数据转换为Surface对象,加载完图像后一般都需要使用这个函数,还有一个类似的函数convert_alpha(),与convert()相比,它保留了图片透明部分的通道(在后面的飞机图片中会用到),这样光标才可以是不规则的形状。
blit:第一个参数为一个Surface对象,第二个为左上角位置。画完以后一定记得用update更新一下,否则画面会一片漆黑。
Crossin先生的第一节课结束了,没毛病。
(这是游戏素材的图片,包括接下来所需要的都在里面了) http://download.csdn.net/detail/heart_to_heart/9545566
用pygame的库来制作这个游戏并不难,我也是跟着crossin先生一步步做的,第一节课的内容就是加载游戏背景:
# -*- coding: utf-8 -*- import pygame from sys import exit pygame.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 | 创建一个没有边框的窗口 |
blit:第一个参数为一个Surface对象,第二个为左上角位置。画完以后一定记得用update更新一下,否则画面会一片漆黑。
Crossin先生的第一节课结束了,没毛病。
(这是游戏素材的图片,包括接下来所需要的都在里面了) http://download.csdn.net/detail/heart_to_heart/9545566
相关文章推荐
- pygame学习笔记(3):运动速率、时间、事件、文字
- python中pygame针对游戏窗口的显示方法实例分析(附源码)
- pygame学习笔记(5):游戏精灵
- pygame学习笔记(6):完成一个简单的游戏
- pygame学习笔记(1):矩形、圆型画图实例
- pygame播放音乐的方法
- python使用PyGame播放Midi和Mp3文件的方法
- Python基于pygame实现图片代替鼠标移动效果
- 使用Python编写简单的画图板程序的示例教程
- pygame学习笔记(4):声音控制
- python基于pygame实现响应游戏中事件的方法(附源码)
- Python中pygame的mouse鼠标事件用法实例
- Python加pyGame实现的简单拼图游戏实例
- Python中pygame安装方法图文详解
- python使用PyGame绘制图像并保存为图片文件的方法
- python使用PyGame模块播放声音的方法
- Python基于pygame实现的font游戏字体(附源码)
- pygame学习笔记(2):画点的三种方法和动画实例
- Python基于pygame实现的弹力球效果(附源码)
- python中pygame模块用法实例