pygame库写游戏——入门<1>
来源:互联网 发布:华师大公共数据库密码 编辑:程序博客网 时间:2024/06/03 12:07
[用Python和Pygame写游戏-从入门到精通(1)](http://eyehere.net/2011/python-pygame-novice-professional-1/)
经过断断续续的学习,对python的语法有了一定的认识,并且通过廖雪峰的教程和慕课网上几个课程的学习,模仿了其中几个小程序的编写。但是学习要回到实践中来,想尝试着编写几个小游戏,发现需要学习pygame库,而且脱离教程与模仿教程来编写是两种截然不同的体验。
最终找到这位大神的博客(包含pygame库的教学),代码的每一行都有中文注释,非常有助于我这种新手来理解每一行代码的含义。
因此准备通过他的博客系统的学习pygame库的使用,并且力图达到可编写小游戏的level。
接下来的几篇博客可以看做是自己学习中的总结吧。
1、安装pygame库——非常简单,可百度。
2、检测自己安装的pygame库版本:
import pygameprint(pygame.ver)```我的版本为1.9.3,不过版本号基本没影响。3、原博主的编写的hello world!程序片段注释非常的详细,可以去看看。4、自己尝试编写的程序`background_filename = 'sushiplate.jpg'mouse_filename = 'fugu.png'import pygamefrom pygame.locals import *pygame.init()pygame.mouse.set_visible(False)pygame.event.set_grab(True)<div class="se-preview-section-delimiter"></div>#这里可以把鼠标(小鱼)上面的鼠标箭头隐藏screen = pygame.display.set_mode((640,480),NOFRAME,32)<div class="se-preview-section-delimiter"></div>#设置无边框,也可尝试其他的样式mouse_cursor = pygame.display.set_caption('hello world!')background = pygame.image.load(background_filename).convert()mouse_cursor = pygame.image.load(mouse_filename).convert_alpha()while True: for event in pygame.event.get(): if event.type == KEYDOWN: if event.key == K_SPACE: pygame.quit() #这里做了比较大的改进,按下空格键,退出程序 screen.blit(background,(0,0)) x,y = pygame.mouse.get_pos() x-= mouse_cursor.get_width() /2 y-= mouse_cursor.get_height() /2 #注意这里get_width()和/2中间有空格,否则会有错误 screen.blit(mouse_cursor,(x,y)) pygame.display.update()` ![新的hello world!程序——界面如下:](http://img.blog.csdn.net/20171128202246611?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzQwNDk3NzEy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 观察截图中被鱼替代的鼠标(显然还有一个黑色的小鼠标没有被完全覆盖),这里需要用到 `pygame.mouse.set_visible(False)pygame.event.set_grab(True)` ,但是我还没学会-_-<div class="se-preview-section-delimiter"></div>
for event in pygame.event.get():
if event.type == QUIT:
#接到推出事件后退出程序
pygame.quit()
“`
这是程序的退出机制,但是原博主用的是exit(),但是在我电脑上无法退出程序(程序无反应),因此改成pygame.quit()。
设置无边框,也可尝试其他的样式
mouse_cursor = pygame.display.set_caption(‘hello world!’)
background = pygame.image.load(background_filename).convert()
mouse_cursor = pygame.image.load(mouse_filename).convert_alpha()
while True:
for event in pygame.event.get():
if event.type == KEYDOWN:
if event.key == K_SPACE:
pygame.quit()
#这里做了比较大的改进,按下空格键,退出程序
screen.blit(background,(0,0))
x,y = pygame.mouse.get_pos()
x-= mouse_cursor.get_width() /2
y-= mouse_cursor.get_height() /2
#注意这里get_width()和/2中间有空格,否则会有错误
screen.blit(mouse_cursor,(x,y))
pygame.display.update()`
。
观察截图中被鱼替代的鼠标(显然还有一个黑色的小鼠标没有被完全覆盖),这里需要用到
,但是我还没学会-_-
for event in pygame.event.get():
if event.type == QUIT:
#接到推出事件后退出程序
pygame.quit()
这是程序的退出机制,但是原博主用的是exit(),但是在我电脑上无法退出程序(程序无反应),因此改成pygame.quit()。
- pygame库写游戏——入门<1>
- pygame库写游戏——入门<2> 游戏中的关键——事件
- pygame库写游戏——入门<3>——游戏显示
- pygame库写游戏——入门<5>——游戏中的视觉
- pygame库写游戏——入门<4>——字体
- pygame库写游戏——入门<6>——存储图像
- pygame库写游戏——入门<7>——python.draw
- pygame库写游戏——入门<8>——动画和帧率
- python pygame — 2048 用python+pygame写2048游戏
- Python--写游戏pygame入门一
- 用Python和Pygame写游戏-入门
- pygame——入门1
- 用Python和Pygame写游戏-从入门到精通(1)
- 用Python和Pygame写游戏-从入门到精通(1)
- 用Python和Pygame写游戏-从入门到精通(1)
- 用Python和Pygame写游戏-从入门到精通(1)
- 用Python和Pygame写游戏-从入门到精通(实战一:涂鸦画板1)
- 用Python和Pygame写游戏-从入门到精通(1)
- C#Sql防注入字符串
- <#include> vs <#import> in FreeMarker
- tomcat配置-将eclipse项目手动配置到tomcat中
- XUI设计
- 数组中只出现一次的两个数(异或)
- pygame库写游戏——入门<1>
- 奇异值分解(SVD)原理
- okhttp公共参数拦截器
- 经典导弹拦截dp问题(n^2算法)FZOJ 1570
- BZOJ4990&&BZOJ4993(Usaco2017 Feb)[Why Did the Cow Cross the Road II]--最长升
- 栈&栈的应用
- 快速求素数表——埃氏筛法与欧拉筛法
- CSS3-转换之skew
- Unity的特殊文件夹及脚本编译顺序