用Python和Pygame写游戏-入门
来源:互联网 发布:轩辕剑符鬼进阶数据 编辑:程序博客网 时间:2024/05/19 16:29
原文地址:http://eyehere.net/2011/python-pygame-novice-professional-1
1.下载安装pygame
pygame下载:http://www.pygame.org/download.shtml
windows7 下安装pygame:https://jingyan.baidu.com/article/656db918fa390fe380249c5f.html
安装好,可以用下面的方法确认有没有安装成功:
import pygame
print pygame.ver
2.新的Hello World
# -*- coding:utf-8 -*-# 背景图片background_image_filename = 'sushiplate.jpg'# 光标图片mouse_image_filename = 'fugu.png'import pygame# 向sys模块借一个exit函数用来退出程序from sys import exitfrom pygame.locals import *# 初始化pygame,为使用硬件做准备pygame.init()# 创建了一个窗口screen = pygame.display.set_mode((640, 480), 0, 32)# 设置窗口标题pygame.display.set_caption("Hello, World!")# 设置背景图片background = pygame.image.load(background_image_filename).convert()# 设置鼠标图标mouse_cursor = pygame.image.load(mouse_image_filename).convert_alpha()# 游戏主循环while True: for event in pygame.event.get(): # 接收到退出事件后退出程序 if event.type == QUIT: exit() # 将背景图画上去 screen.blit(background, (0, 0)) # 获得鼠标位置 x, y = pygame.mouse.get_pos() # 计算光标的左上角位置 x -= mouse_cursor.get_width() / 2 y -= mouse_cursor.get_height() / 2 # 把光标画上去 screen.blit(mouse_cursor, (x, y)) # 刷新一下画面 pygame.display.update()注:if event.type == QUIT: 这里会报错,不用理。
set_mode会返回一个Surface对象,代表了在桌面上出现的那个窗口,三个参数第一个为元祖,代表分 辨率(必须);第二个是一个标志位,具体意思见下表,如果不用什么特性,就指定0;第三个为色深。
标志位功能FULLSCREEN创建一个全屏窗口DOUBLEBUF创建一个“双缓冲”窗口,建议在HWSURFACE或者OPENGL时使用HWSURFACE创建一个硬件加速的窗口,必须和FULLSCREEN同时使用OPENGL创建一个OPENGL渲染的窗口RESIZABLE创建一个可以改变大小的窗口NOFRAME创建一个没有边框的窗口convert 函数是将图像数据都转化为Surface对象,每次加载完图像以后就应该做这件事件(事实上因为 它太常用了,如果你不写pygame也会帮你做);
convert_alpha相比convert,保留了Alpha 通道信息(可以简单理解为透明的部分),这样我们的光标才可以是不规则的形状。
游戏的主循环是一个无限循环,直到用户跳出。在这个主循环里做的事情就是不停地画背景和更新光标位置,虽然背景是不动的,我们还是需要每次都画它, 否则鼠标覆盖过的位置就不能恢复正常了。
blit是个重要函数,第一个参数为一个Surface对象,第二个为左上角位置。画完以后一定记得用update更新一下,否则画面一片漆黑。
0 0
- 用Python和Pygame写游戏-入门
- 用Python和Pygame写游戏-从入门到精通
- 用Python和Pygame写游戏-从入门到精通
- 用Python和Pygame写游戏-从入门到精通
- 用Python和Pygame写游戏-从入门到精通
- 用Python和Pygame写游戏-从入门到精通
- 用 Python 和 Pygame 写游戏 - 从入门到精通
- Pygame 教程:《用 Python 和 Pygame 写游戏 - 从入门到精通》
- Pygame 教程:《用 Python 和 Pygame 写游戏 - 从入门到精通》
- 用Python和Pygame写游戏
- 用Python和Pygame写游戏---AttributeError
- 用Python和Pygame写游戏-从入门到精通(13)简单的AI游戏
- Python--写游戏pygame入门一
- 用Python和Pygame写游戏-从入门到精通(1)
- 用Python和Pygame写游戏-从入门到精通(17)
- 用Python和Pygame写游戏-从入门到精通(1)
- 用Python和Pygame写游戏-从入门到精通(2)
- 用Python和Pygame写游戏-从入门到精通(1)
- notes is better than memory装饰者模式
- 数据库索引的实现原理
- 常用网址
- iOS源码解析—SDWebImage(SDWebImageDownloader)
- 遍历字典
- 用Python和Pygame写游戏-入门
- 编译安装mysql
- matlab GUI axe显示图片后右键显示菜单
- 在不同的情况下拖拽图片
- 选中CTreeCtrl的节点,弹出对话框嵌入到客户区中
- iOS源码解析—SDWebImage(SDWebImageManager)
- 源码阅读--RxJava(二)
- authconfig 用法
- Flink中在source流中自定义timestamp和watermark