Pygame
文章平均质量分 86
Cytues
这个作者很懒,什么都没留下…
展开
-
用Python和Pygame写游戏-从入门到精通(9)学习笔记
引入向量向量可以通过两个点来计算出来,如下图,A经过向量AB到达了B,则向量AB就是(30, 35) – (10, 20) = (20, 15)。我们也能猜到向量BA会是(-20, -15),注意向量AB和向量BA,虽然长度一样,但是方向不同。这里写了一个极简版的Vector2:#-*- coding:utf-8 -*-import mathclass Vector2(object): ...原创 2018-06-11 22:42:55 · 506 阅读 · 0 评论 -
用Python和Pygame写游戏-从入门到精通(7)学习笔记
pygame.draw中函数的第一个参数总是一个surface,然后是颜色,再后会是一系列的坐标等。稍有些计算机绘图经验的人就会知道,计算机里的坐标,(0,0)代表左上角。而返回值是一个Rect对象,包含了绘制的领域,这样你就可以很方便的更新那个部分了。pygame.draw.rect用法:pygame.draw.rect(Surface, color, Rect, width=0)pygame....原创 2018-06-10 16:21:40 · 1089 阅读 · 0 评论 -
用Python和Pygame写游戏-从入门到精通(6)学习笔记
虽然是基础,这里还是要罗嗦一下,之前说的RBG图像,在游戏中我们往往使用RGBA图像,这个A是alpha,也就是表示透明度的部分,值也是0~255,0代表完全透明,255是完全不透明,而像100这样的数字,代表部分透明。你可以使用多种软件创建含有Alpha通道的图片,具体的网上查查吧……这个世界上有很多存储图像的方式(也就是有很多图片格式),比如JPEG、PNG等,Pygmae都能很好的支持,具体...原创 2018-06-10 15:31:57 · 1659 阅读 · 0 评论 -
用Python和Pygame写游戏-从入门到精通(5)学习笔记
像素的威力凑近显示器,你能看到图像是由一个一个点构成,这就是像素。至于屏幕分辨率的意义,也就不用多说了吧,一个1280×1024的显示器,有着1310720个像素,一般的32为RGB系统,每个像素可以显示16.7百万种颜色(可以看我的另一篇一张白纸可以承载多少重的文章),我们可以写一个小程序来显示这么多的颜色~import pygamepygame.init()screen = pygame...原创 2018-06-10 11:29:23 · 376 阅读 · 0 评论 -
用Python和Pygame写游戏-从入门到精通(4)学习笔记
今天说明字体模块和一些错误处理。使用字体模块为了使用字体,你得先创建一个Font对象,对于系统自带的字体:my_font = pygame.font.SysFont("arial", 16)第一个参数是字体名,第二个自然就是大小,一般来说“Arial”字体在很多系统都是存在的,如果找不到的话,就会使用一个默认的字体,这个默认的字体和每个操作系统相关,你也可以使用pygame.font.get_fo...原创 2018-06-10 10:21:54 · 322 阅读 · 0 评论 -
用Python和Pygame写游戏-从入门到精通(3)学习笔记
这节主要学习显示。全屏显示我们在第一个程序里使用了如下的语句screen = pygame.display.set_mode((640, 480), 0, 32)这是窗口显示,将第二个参数设置为FULLSCREEN时,就变成了全屏显示。screen = pygame.display.set_mode((640, 480), FULLSCREEN, 32)注意:如果你的程序有什么问题,很可能进入了全...原创 2018-06-09 20:57:26 · 318 阅读 · 0 评论 -
用Python和Pygame写游戏-从入门到精通(2)学习笔记
理解事件我们上一个程序,会一直运行下去,直到你关闭窗口而产生了一个QUIT事件,Pygame会接受用户的各种操作(比如按键盘,移动鼠标等)产生事件。事件随时可能发生,而且量也可能会很大,Pygame的做法是把一系列的事件存放一个队列里,逐个的处理。一句话就是使用者做的操作都叫产生事件,通过键盘或者鼠标。事件检索使用pygame.event.get()来处理所有的事件。如果我们使用pygame.ev...原创 2018-06-09 19:55:07 · 634 阅读 · 0 评论 -
用Python和Pygame写游戏-从入门到精通(1)学习笔记
第一部分主要是实现游戏背景实现和第一游戏窗口。Pygame有很多的模块,下面是一张一览表:代码示例:#-*- coding:utf-8 -*-#指向背景图和光标图片background_image_filename = './images/sushiplate.jpg'mouse_image_filename = './images/fugu.png'#导入相关模块import pyga...原创 2018-06-09 15:27:26 · 1079 阅读 · 0 评论 -
用Python和Pygame写游戏-从入门到精通(实战一:涂鸦画板2)学习笔记
完整版的涂鸦画板#-*- coding:utf-8 -*-import pygameimport mathfrom pygame.locals import *class Brush(object): def __init__(self, screen): self.screen = screen self.drawing = False ...原创 2018-06-13 23:01:23 · 1065 阅读 · 1 评论 -
用Python和Pygame写游戏-从入门到精通(11)学习笔记
使用鼠标控制精灵我们已经看到如何画一个光标了,只是简单的在鼠标坐标上画一个图像而已,我们可以从MOUSEMOTION或者pygame.mouse.get_pos方法来获得坐标。但我们还可以使用这个坐标来控制方向,比如在3D游戏中,可以使用鼠标来控制视角。这种时候,我们不使用鼠标的位置,因为鼠标可能会跑到窗口外面,我们使用鼠标现在与上一帧的相对偏移量。在下一个例子中,我们演示使用鼠标的左右移动来转动...原创 2018-06-13 16:30:46 · 980 阅读 · 1 评论 -
用Python和Pygame写游戏-从入门到精通(10)
这节讲了一些之前出现过的键盘操作。键盘设备以前第二部分也稍微使用了一下键盘,那时候是用了pygame.event.get()获取所有的事件,当event.type == KEYDOWN的时候,在判断event.key的种类,而各个种类也使用K_a,K_b……等判断。这里再介绍一个pygame.key.get_pressed()来获得所有按下的键值,它会返回一个元组。这个元组的索引就是键值,对应的就...原创 2018-06-12 17:02:21 · 969 阅读 · 0 评论 -
用Python和Pygame写游戏-从入门到精通(8)学习笔记
理解帧率这是一个被说烂了的词,FPS(Frame Per Second)是游戏和硬件间较量的永恒话题,我也不想多插话了,相信玩游戏的朋友都知道。只是记住几个常用的量:一般的电视画面是24FPS;30FPS基本可以给玩家提供流程的体验了;LCD的话,60FPS是常用的刷新率,所以你的游戏的帧率再高也就没什么意义了;而绝大多数地球人都无法分辨70FPS以上的画面了!直线运动#-*- coding:ut...原创 2018-06-10 17:21:19 · 835 阅读 · 0 评论