pygame入门】的更多相关文章

pygame入门 说明 在学习pygame时,主要参考了目光博客的教程.目光博客 原教程是2011年写的,年代比较久远了,使用Python2.我学习时使用python3将代码重新实现了一遍,同时补充了一些细节.相比较原博客,少了一些实例. pygame官网文档 文中代码github 一.pygame的安装 pip install pygame 1 安装好后,可以用下面的方法确认有没有安装成功 >>>import pygame >>>print(pygame.ver) 1…
最近正在利用 Python 制作一个小游戏,但对于 Pygame 不熟悉,故在学习的过程记录相关知识点 Pygame 中文文档下载:Here Pygame第1-1课:入门 什么是Pygame? Pygame是一个"游戏开发库" - 一组帮助程序员制作游戏的代码库.包含: 图形和动画 声音(包括音乐) 控制(键盘,鼠标,游戏手柄等) Pygame安装 pip 安装 pip install pygame 如果下载缓慢或者下载失败了的话建议切换pip源到国内镜像,如何更换? PyCharm…
昨天没有更新内容,今天相对多写一些. 因为我们已经基本完成游戏框架,但是游戏结束后,并不知道怎样比较好开始.我本来本着懒的原则,想结束后显示一个黑屏,然后你重新点一下鼠标就重新开始.但是那样实在太不像个热爱生活的程序员了,所以我决定用更合适的方法解决这个问题. 为此,我决定实现一个相对比较过得去的按钮. 为了实现按钮,我先创建一个测试程序体.然后在上面先实现一个按钮类的功能. 具体的测试程序,我就不详说了,反正就是你去创建一个这样的小窗口: 然后在上面完成一个按钮的类. 我设想的按钮应该是这样的…
本文基于win7(64) + py3.5(64)环境. 本文是这里的一篇学习笔记.加入了自己的理解. 本文最终目的是实现一个飞机躲避导弹的游戏. 1.核心概念 pygame 的核心概念有: Surface 对象(一个容器,一个载体,可以是空白的矩形区域,亦可是图片) Surface 对象的矩形区域(用 Surface 实例的get_rect()方法获得) 屏幕对象的blit()方法用于放置 Surface 对象 display 模块的flip()方法用于重绘游戏界面 窗口主循环 import p…
我们已经完成了飞机大战的大部分东西,但是游戏还是没有办法正式开玩,因为子弹并不能打掉飞机.只有完成了这一个工作,游戏才算基本成型. 今天的内容就非常简单了,就是做到这个碰撞检测,以及控制好子弹和飞机的消失.pygame里的sprite模块里有碰撞检测部分,但是,我们这里自己动手实现一个碰撞检测的函数. 检测碰撞的方法很简单,就是子弹的位置在飞机图片的内部.由于子弹和飞机的速度比较快,所以不需要非常精确地判别. 我们认为,如果子弹的坐标(b.x, b.y)在飞机的图片范围内,也就是(e.x, e,…
昨天我们已经实现了这个游戏的三个基本类. 但是现在它还是没办法做成一个适合玩的游戏,毕竟只有一架敌机的游戏是很乏味的.所以,我们需要好多子弹,也需要好多敌机. 所以,我们要创建list,这个list存放Bullet或者Enemy的实例. 以Bullet为例: bullet = [] #创建子弹 for i in range(6): bullet.append(Bullet()) ... for b in bullet:#移动子弹 b.move(time_passed_second) ... fo…
昨天的内容里有了运动的子弹,虽然我们只添加了一个子弹,但你可以看到我们需要记录子弹的x,y坐标,每次要更新它的坐标.如果我们想要有多颗子弹,就需要存储多个坐标.那时候处理起来就不显得那么简单,也许我们可以使用两个list,一个专门存储各个子弹的x坐标,另一个专门存储子弹的y坐标,问题似乎变得没那么复杂,写起来会简单一些.但是我们到现在还没有加入过敌机,如果加入了敌机,加入别的东西的设计,我们将需要很多不同的数据的存储.虽然一个思路清晰的程序员可以记住所有的坐标存储在哪个list里,但是这毕竟比较…
按昨天的说法,今天将开始做一个简单的游戏了. 目标是拷贝微信的飞机大战,当然拷贝完以后大家就具备自己添加不同内容的能力了. 首先是要拿到一些图片素材,熟悉使用图像处理软件和绘画的人可以自己制作,并没有这项技能的同学只能和我一样从网上下载相应的素材了. 网上可以找到相应的这样的图片,注意,所有的元件图片要是png类型的图片,那样可以有透明的背景,否则会有白色的边框露出来. 找到素材以后我们就要开始搭建我们的飞机大战了. 微信上的飞机大战是由手指控制的,在电脑上,我们就先用鼠标代替了. 按照之前我们…
游戏里面一般是肯定会出现文字显示的,即使是俄罗斯方块也应该显示分数.那么我们应该怎样来显示文字呢,今天一起学习一下pygame的font模块. 使用字体模块 pygame可以直接调用系统字体,也可以调用TTF字体.为了使用字体,首先应该创建一个Font对象,对于系统自带的字体,应该这样调用: >>> font1 = pygame.font.SysFont('arial', 16) 第一个参数是字体名,第二个参数是字号.正常情况下系统里都会有arial字体,如果没有会使用默认字体,默认字体…
pygame是一个比较大的库,以我这点弱小的实力是没办法详解的.所以我只讲我懂得那些部分,其他部分由大家慢慢查找了解. ------------------------------- 我用pygame的目标很明确,写一个自己的游戏娱乐,权当学习时的放松.一个小项目的运行是非常有成就感的,所以一切讲解都按这样的简单步骤来. 首先,我们来理解动画: 上面是一种给孩子玩的小游戏,将几张不同姿态的图片放在一个转轴上,旋转转轴时我们就能看到一个连贯的飞翔动画,几张断开的静止的图像,当我们以高速切换时,人眼…