Tag Archives: pygame

用Python和Pygame写游戏-从入门到精通(Sprite篇)

这又是Pygame教程系列的一个——OVA篇,类似于py2exe篇一样,额外写的,也许不是pygame游戏开发必须的东西,但是知道了绝对大有裨益。因此友情大放送~ 看pygame模块介绍的时候,细心的人会发现有一个pygame.sprite模块,而在讲动画的时候,虽然引入了精灵这个概念,却没有使用这个模块。在官方文档上也说了,这个模块是轻量级的,在游戏开发中也未必要使用。讲解动画的时候为了避免太多… Read More »

用Python和Pygame写游戏-从入门到精通(16)

经历了长年的艰苦卓绝的披星戴月的惨绝人寰的跋山涉水,我们终于接近了AI之旅的尾声(好吧,实际上我们这才是刚刚开始)。这一次真正展示一下这几回辛勤工作的结果,最后的画面会是这个样子: 下面给出完整代码(注意需要gameobjects库才可以运行,参考之前的向量篇):

用Python和Pygame写游戏-从入门到精通(15)

在继续我们的AI之旅前,分享一个在煎蛋上看到的有趣新闻,能通过读说明书来学习的AI,这个世界真是变得越来越不可琢磨啦!机器人很快就要超越咱了…… 因为这一次是接着上面的内容的,所以请不要跳过直接看这里。 哭!!!写完了上传出错,丢失啊,重伤重写~~~~~~~~~~~ 蚂蚁实例类 在我们正式建造大脑之前,我们得先做一个蚂蚁类出来,就是下面的这个,从GameEntity继承而来:

用Python和Pygame写游戏-从入门到精通(14)

上一次稍微说了一下AI,为了更好的理解它,我们必须明白什么是状态机。有限状态机(英语:finite-state machine, FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。太抽象了,我们看看上一次的机器人的状态图,大概是长的这个样子: 状态定义了两个内容: 当前正在做什么 转化到下一件事时候的条件 状态同时还可能包含进入(entry)… Read More »

用Python和Pygame写游戏-从入门到精通(13)

我们已经学习了游戏的图像和输入编程,接下来是什么?声音?没错,不过我们要晚一点再说声音。游戏中还有什么那么重要?哦是的,趣味性。 游戏的趣味是游戏生命的重要组成部分,其重要性甚至凌驾于任何元素,包括画面之上,之所以大家不太想得到,是因为这是个比较难定量的东西,难以直接用个什么方法测量出来。那么支持游戏趣味的是什么呢?是规则和智能。 规则是游戏的玩法,比如围棋,尽量扩大自己的领地;比如俄罗斯方块,把… Read More »

用Python和Pygame写游戏-从入门到精通(12)

按照原计划,这次是要讲解手柄的,pygame有着良好的控制手柄支持pygame.joystick,不过…… 我们暂时的目标是制作小游戏,小游戏晚了不少感觉使用手柄的好像还没看到过,用了感觉实在有些高深了。 有鉴于此,这一章先保留,后期需要的话再追加。绝对不是偷懒!真的,我很勤快的,真的不是偷懒~~ >> 用Python和Pygame写游戏-从入门到精通(13)  

用Python和Pygame写游戏-从入门到精通(11)

上次我们说明了使用键盘操作游戏,键盘是非常古老的输入设备,甚至笔计算机本身都要古老的多,因为它发源于打字机,貌似1868年就有成熟的打字机问世了。不得不说的是,现在最常用的键位排部,并不是最科学的,相比上一次说过的DUORAK键盘,打字者的手指平均每日运动1英里,而QWERTY则是12到20英里。当然这对游戏毫无意义…… 相比而言,鼠标非常的年轻,世界上最早的鼠标诞生于1964年,它是由美国人道格… Read More »

用Python和Pygame写游戏-从入门到精通(10)

有时候无聊在网上翻翻小说看看,绝大多数那叫一个无聊。比如说修炼的境界分几种,都有个名字,然后每种境界再有几层,这不就是变相的打怪练级么?文笔也不咋样,故事情节的驾驭能力更是让我瞠目结舌,想到这些类小说盛行,不觉感到悲从中来。感觉看这些小说,就想在看别人打游戏一般,崩溃到极点。游戏和小说的最大区别,除了声色以外,最不同的就是玩家可以沉入进去,通过自己的双手来参与;而好的游戏,更是可以通过玩家的选择,… Read More »

用Python和Pygame写游戏-从入门到精通(py2exe篇)

这次不是直接讲解下去,而是谈一下如何把我们写的游戏做成一个exe文件,这样一来,用户不需要安装python就可以玩了。扫清了游戏发布一大障碍啊! perl,python,java等编程语言,非常好用,语法优美,功能强大;VB啥的,功能上编写的时候总有那么点不舒服的地方(个人见解),可是用户和受众极多,一个很大的原因就是:VB是微软提供的,可以很方便的编译(伪?)生成exe文件。有了exe,所有的W… Read More »

用Python和Pygame写游戏-从入门到精通(9)

上次我们说到了向量,不得不说向量是一个伟大的发明,在单纯的数字运算之中,居然就把方向也包含其中。对于如今的我们来看,非常普通的事情,几百年前的人们能够考虑到这个,实在是非常的不容易。不过同时我们也要有这样的意识——我们现在所使用的数学,未必就是最完美的。时代发展科技进步,或许我们会有更好的方式来诠释我们的世界。想想一片叶子飘落,有它独特的轨迹,如果要人类计算出来那个轨迹,即便可能,也是无比繁杂的。… Read More »

用Python和Pygame写游戏-从入门到精通(8)

是时候让我们的游戏活泼起来了。电脑游戏和桌面游戏的一个巨大差别,想来就是这个“动”。伟大的哲学家们告诉我们,“运动是绝对的,静止时相对的”,同样的在游戏中,只有活动起来,游戏才会拥有生命,否则和看连环画有什么差别呢? 这几章讲述的东西需要一些线性代数的知识,好吧有些夸张,如果你不明白,完全没关系,高中物理的知识就绝对足够了(或者说嫌多了)!

用Python和Pygame写游戏-从入门到精通(7)

我们上一个章节使用了pygame.draw中的一些函数,这个模块的作用是在屏幕上绘制各种图形。事实上,你可以不加载任何图片,只是要这些图形来制作一个游戏(经典游戏Asteroids便是,这里有一个HTML5写就的例子。好像访问不了?搜个Flash版吧,多得很)。 pygame.draw中函数的第一个参数总是一个surface,然后是颜色,再后会是一系列的坐标等。稍有些计算机绘图经验的人就会知道,计… Read More »

用Python和Pygame写游戏-从入门到精通(6)

掌握了小小的像素,我们可以使用更加复杂一点的东西了,对,就是图像,无数的像素的集合~还记得上次我们为了生成的一张图片,花了无数时间,还好一般游戏不会在游戏的过程中动态生成图像,都是将画好的作为资源封装到游戏中。对2D游戏,图像可能就是一些背景、角色等,而3D游戏则往往是大量的贴图。 虽然是基础,这里还是要罗嗦一下,之前说的RBG图像,在游戏中我们往往使用RGBA图像,这个A是alpha,也就是表示… Read More »

用Python和Pygame写游戏-从入门到精通(5)

这次开始是真正的游戏编程,以前都是基础的基础啊。 电脑游戏总是倾向于图像化的,尽量的要看得到听得到(现在的技术基本还局限于这两个感官),游戏开发者会花无数的力气在图像上,提升图像效果是游戏开发永恒的话题。这几次主要讲述游戏中的视觉。 像素的威力 凑近显示器,你能看到图像是由一个一个点构成,这就是像素。至于屏幕分辨率的意义,也就不用多说了吧,一个1280×1024的显示器,有着131072… Read More »

用Python和Pygame写游戏-从入门到精通(4)

不过5月上旬,气温居然就到了33℃,这日子真是不让人活了…… 另外今天是母亲节啊,不知道上什么图片就上这张吧~~ 今天说明字体模块和一些错误处理。 使用字体模块 就像上一次说的,一个游戏,再怎么寒碜也得有文字,俄罗斯方块还有个记分数的呢;印象中没有文字的电子游戏只有电脑刚刚诞生的那种打乒乓的了。Pygame可以直接调用系统字体,或者也可以使用TTF字体,稍有点电脑知识的都知道这是什么。为了使用字体… Read More »