python游戏引擎开发二_python制作galgame引擎(二)

上一篇主要涉及的其实是我个人的一些初期目标,以及解决方式。虽然提了提Parser类的实现,但是代码毕竟不是主要讨论的对象。而且很明显的,上一篇几乎与galgame制作无关……

这一篇主要讨论的实现,中心目标是实现一个”能显示背景图片,播放背景音乐,如同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()

就这样,现在一个能播放音乐,能展示一幅图片,还能丑丑地显示文字的小玩意就做好了。当然始终要明白:这只是为了测试相关功能实现的试验程序而已,真正的程序可不能这么水。但是你要知道,真正程序的核心,也就这样……很简单?

这篇内容不多,我本来想接着写下去的,但是考虑到下面的代码很多,估计篇幅很长,干脆拆成两篇,阅读更省力~~下一篇的主要是封装,以及异常。

Original: https://blog.csdn.net/weixin_39787628/article/details/114444227
Author: weixin_39787628
Title: python游戏引擎开发二_python制作galgame引擎(二)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/782643/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球