
【Python】
文章平均质量分 93
YhPythonJSCPP
在下看似会编游戏,实者爱玩游戏,欢迎大家与在下交流
展开
-
Python游戏引擎开发(一):序
写了这么久的html5,感觉html5学得差不多了,是时候去接触更多的语言来扩充自己的能力了。我先后看了Swift,Java等语言。首先开发Swift需要一台mac,对于我这个寒士而言,过于奢华了一些;Java吧,又感觉太胖了,不够苗条,身材不好,也看不上。最后遇到了Miss Python,先前也和她打过交道,不过感觉语法怪怪的,总是出现>>>这类符号(当时没有深入接触,不晓得是命令输入提示),实在是太高冷了原创 2015-08-31 22:54:36 · 25844 阅读 · 5 评论 -
Python游戏引擎开发(四):TextField文本类
现在开始代码分析。首先来看绘画部分`_loopDraw`方法。首先是通过`__getFont`获取一个字体,这个得到的字体是一个`QFont`对象,它包含了我们设置的字体,文本尺寸,文本粗细等一切和文本字体样式有关的属性。大家可以通过浏览`__getFont`的代码来了解这一点。大家可能不太明白接下来我们定义的三个变量(`flag`,`width`,`height`)的含义,这个其实是和绘制文本的方式有关原创 2015-10-17 21:57:03 · 6249 阅读 · 1 评论 -
Python游戏引擎开发(二):创建窗口以及重绘界面
开发本地应用之前,我们得先有个窗口,用于显示界面。其次我们还得实现重绘机制,使游戏不停地刷新,达到动态化的目的。所以我们的引擎开发的第一个阶段就是创建窗口和重绘界面。在上一章《序》中我们讲到本次开发用到了PyQt,也就是Qt的Python版。在开始实现引擎功能之前我们要先了解一下Qt,这里先了解渲染机制。在Qt中,绘画用到的类叫做`QPainter`,顾名思义,就是个画家类吧。原创 2015-09-26 22:20:42 · 11993 阅读 · 4 评论 -
Python游戏引擎开发(五):Sprite精灵类和鼠标事件
本次来实现Sprite类和鼠标事件。 说起这个Sprite啊,涉及过2D游戏研究领域的看官应该都听说过它。它中文原意是“精灵”,不过在不同人的眼中,它所表示的意义不同。比如说在cocos2d中,它可以是一张图片。不过在flash中,Sprite是一个类似于“层”的家伙。当然你把它定义为层并不是很准确,实际上它是一个含显示列表的显示对象。什么意思呢?各位看官如果阅读了前面的章节,那对显示列表并不陌生原创 2016-02-03 21:14:50 · 18865 阅读 · 3 评论 -
Python游戏引擎开发(三):显示图片
在前面的章节中,我们屡次提到了显示对象这个东西,那显示对象到底是什么呢?顾名思义,它是一个可视的物体,比如说游戏中的人物,地图等。例如`list`,`tuple`等,这些对象是不可以显示的,它们只用于内部的数据存储,所以不是显示对象。同理,游戏中的资源加载器也不是显示对象。程序开发可以看作一个归类的过程(所以`class`成为了一种主要的程序语句)。如果我们以对象的尺寸,或者颜色来分类显示对象,那么可能会出现这些原创 2015-10-17 00:13:52 · 6277 阅读 · 3 评论 -
Python游戏引擎开发(六):动画的小小研究
播放动画的时候,像播放电影一样,这张图就是胶卷。我们可以弄一个放映机,放映机的镜头大小就是每个动作小图的大小。如果我们的胶卷不停地移动,那么就会连成动画。在播放动画时,我们的“胶卷”就是一个`Bitmap`图片显示对象,其中包含了一个`BitmapData`对象,我们通过调用这个对象的上述两个方法,就能实现动画播放。原创 2016-02-04 00:11:30 · 8487 阅读 · 0 评论 -
Python游戏引擎开发(七):绘制矢量图
开始绘制命令需要如下几个参数:图形填充色、填充色透明度。在上面的代码中,我们初始化了`__currentGraphics`属性,可以看到,他是一个`dict`对象,其中的`path`成员是一个`QPainterPath`对象,这个对象来自`Qt`,通过调用这个类中的一些方法,可以创建一些图形,然后调用`QPainter`的`drawPath`方法就可以把这个对象里创建的所有图形画出来。原创 2016-03-06 19:48:17 · 7064 阅读 · 3 评论 -
Python开发接水果小游戏
我研发的Python游戏引擎Pylash已经更新到1.4了。现在我们就来使用它完成一个极其简单的小游戏:接水果。游戏操作说明:点击屏幕左右两边或者使用键盘方向键控制人物移动,使人物与水果接触得分,碰到非水果的物品,如碎玻璃,就会game over。接下来是详尽的开发过程,篇幅较长,请看官耐心阅读。由于本次开发用到了pylash,大家可以先去Github上对引擎进行原创 2016-03-13 19:32:22 · 16307 阅读 · 12 评论 -
算法研究:利用Python解决数学计数原理问题
最近数学修行到“计数原理”部分,前几天做作业时遇到这样一道数学题: 用四种不同颜色给三棱柱六个顶点涂色,要求每个点涂一种颜色,且每条棱的两个端点涂不同颜色,则不同的涂色方法有多少种?当我看完题目后,顿时不知所措。于是我拿起草稿纸在一旁漫无目的地演算了一下,企图能找到解决方法。结果一无所获。今天终于等到放假了,于是打算通过程序算法解决这个问题。经过2个多小时的研究,终于完成了代码,并求得了答案。原创 2016-08-03 22:10:39 · 3070 阅读 · 0 评论