python制作galgame引擎(二)
2013-01-27 15:43
281 查看
上一篇主要涉及的其实是我个人的一些初期目标,以及解决方式。虽然提了提Parser类的实现,但是代码毕竟不是主要讨论的对象。而且很明显的,上一篇几乎与galgame制作无关……
这一篇主要讨论的实现,中心目标是实现一个“能显示背景图片,播放背景音乐,如同galgame般显示文本”的试验程序。称之为试验程序的主要原因是:它的代码可能很乱,命名也是随意命名的,无视耦合……这部分代码只用来显示相关代码是否正常运行------不过说起来,大多数人都是这样做的?
上一篇忘了说,这个项目已经完成的部分我已经上传至github(最近应该没问题了吧?),有兴趣的欢迎围观和clone,branch也是大大欢迎的。地址是这个:项目地址。
关于git已经github的使用,有需要的话,请看一下这篇博客 git教学,或者看看官方的文档。
不多说了,接下来是正文部分。
上一篇中,通过Parser类,可以得到三个变量,分别是背景图片的名字,背景音乐的名字,和剧情文本的内容,但是我不准备引用这三个变量。原因是,文件读入的文字,会受操作系统的文字编码影响。当然一般来说是没问题的,但是若是编写跨平台的程序时,就会很麻烦。最终完成的程序是能够跨平台运行的,文字编码这部分当然使得我很是困扰,这部分说长不长,说短不短,我留到最后来说说。
后面的内容涉及了许多pygame的内容,官方文档很棒,eyehere的系列文章也相当棒,没接触过pygame的建议都去看看。eyehere
下面这几个变量已经是所要处理的全部内容了……相当简单,名字是随意写的。
backgound = 'test.jpg'
bgm = 'sanae.wav'
text = u'博主正在下一盘大棋……'
完成上文那个简单目标的代码如下
就这样,现在一个能播放音乐,能展示一幅图片,还能丑丑地显示文字的小玩意就做好了。当然始终要明白:这只是为了测试相关功能实现的试验程序而已,真正的程序可不能这么水。但是你要知道,真正程序的核心,也就这样……很简单?
这篇内容不多,我本来想接着写下去的,但是考虑到下面的代码很多,估计篇幅很长,干脆拆成两篇,阅读更省力~~下一篇的主要是封装,以及异常。
这一篇主要讨论的实现,中心目标是实现一个“能显示背景图片,播放背景音乐,如同galgame般显示文本”的试验程序。称之为试验程序的主要原因是:它的代码可能很乱,命名也是随意命名的,无视耦合……这部分代码只用来显示相关代码是否正常运行------不过说起来,大多数人都是这样做的?
上一篇忘了说,这个项目已经完成的部分我已经上传至github(最近应该没问题了吧?),有兴趣的欢迎围观和clone,branch也是大大欢迎的。地址是这个:项目地址。
关于git已经github的使用,有需要的话,请看一下这篇博客 git教学,或者看看官方的文档。
不多说了,接下来是正文部分。
上一篇中,通过Parser类,可以得到三个变量,分别是背景图片的名字,背景音乐的名字,和剧情文本的内容,但是我不准备引用这三个变量。原因是,文件读入的文字,会受操作系统的文字编码影响。当然一般来说是没问题的,但是若是编写跨平台的程序时,就会很麻烦。最终完成的程序是能够跨平台运行的,文字编码这部分当然使得我很是困扰,这部分说长不长,说短不短,我留到最后来说说。
后面的内容涉及了许多pygame的内容,官方文档很棒,eyehere的系列文章也相当棒,没接触过pygame的建议都去看看。eyehere
下面这几个变量已经是所要处理的全部内容了……相当简单,名字是随意写的。
backgound = 'test.jpg'
bgm = 'sanae.wav'
text = u'博主正在下一盘大棋……'
完成上文那个简单目标的代码如下
# -*- coding: utf-8 -*- import pygame from pygame.locals import * from sys import exit background = 'test.jpg' bgm = 'sanae.wav' text = u'博主正在下一盘大棋……' ##以下三行几乎是定式,至少我都有用 pygame.init() screen = pygame.display.set_mode((800,600),0,32) clock = pygame.time.Clock() ##标题栏上的名字,或许你习惯写成游戏的名字? pygame.display.set_caption('Sanae') ##这个是把图片转成surface,surface是pygame中一个很重要的概念 background = pygame.image.load(background).convert() ##读入bgm pygame.mixer.music.load(bgm) ##载入字体,我这里用的是hksn,你可以随便下,雅黑很不错。记住是要能显示中文的 font = pygame.font.Font("hksn.ttf",20) ##把text内容转成surface,True那个是字体平滑还是什么的,最后那个是颜色 text_surface = font.render(text,True,(0,0,255)) ##初始化一个供绑定的TextRect TextRect = pygame.Surface((200,200)) ##白色填充 TextRect.fill((0xFF,0xFF,0xFF)) ##把文本内容绑定到TextRect上去 TextRect.blit(text_surface,(0,0)) ##播放背景音乐 pygame.mixer.music.play(-1,0,0) ##游戏主循环 while True: for event in pygame.event.get(): exit() ##限定帧为5,事实上,galgame的帧数通常都很低很低,我估计1都行 clock.tick(5) ##下面把背景图片和文字绑定到游戏屏幕上去,注意顺序 screen.blit(background,(0,0)) screen.blit(TextRec,(0,0)) pygame.display.update()
就这样,现在一个能播放音乐,能展示一幅图片,还能丑丑地显示文字的小玩意就做好了。当然始终要明白:这只是为了测试相关功能实现的试验程序而已,真正的程序可不能这么水。但是你要知道,真正程序的核心,也就这样……很简单?
这篇内容不多,我本来想接着写下去的,但是考虑到下面的代码很多,估计篇幅很长,干脆拆成两篇,阅读更省力~~下一篇的主要是封装,以及异常。
相关文章推荐
- python制作galgame引擎(EX)
- python制作galgame引擎(三)
- python制作galgame引擎(四)
- python制作galgame引擎(六)
- python制作galgame引擎(五)
- 如何利用python制作时间戳转换工具详解
- python下的Box2d物理引擎的配置
- 游戏编程入门(2):创建游戏引擎和使用该引擎制作小游戏
- 用python制作一个为hex文件增加版本号的脚本
- 如何使用Python快速制作可视化报表----pyecharts
- Windows下面制作绿色版的Python环境
- python技巧26[python的egg包的安装和制作]
- Java版AVG游戏开发入门示例[3]——脚本引擎的制作及应用 推荐
- 【Unity 3D 游戏引擎】使用 2DToolkit 插件 制作2D精灵动画
- 使用httplib模块来制作Python下HTTP客户端的方法
- python代码制作configure文件
- InstallShield Express for delphi制作安装程序定制BDE引擎
- Python开发实例:TPYBoard开发板制作蓝牙无线小车
- 一步步用python制作游戏外挂