用scratch制作《仙剑奇侠传95》(08)

Scratch 少儿编程 1487浏览 0评论
仙剑奇侠传95

友情提示:视频教程观看时请手动设置清晰度。

用scratch制作《仙剑奇侠传95》(08)

《仙剑奇侠传Windows95版》、《仙剑奇侠传98柔情篇》:也就是真正的“仙剑95版”,1997年出品。仙剑98柔情篇是大宇于同年在大陆推出的仙剑Win95版之相应简体版,首发于1997年10月,这一版本也是在中国大陆流传得最广的仙剑一。游戏画面看上去和DOS版并无太多区别;增加了数个AVI动画;增加了四首CD音轨,背景音乐由DOS内默认的FM音源(即RIX格式)变为MIDI格式。部分迷宫地图作了一定简化,少量对白被更改,我方法术习得等级降低、BOSS生命降低。此外,所有道具加入了文字说明,这一点是非常实用的改进。

想再次重温、怀旧的朋友可在后台回复‘游戏下载’获取游戏下载链接

以上内容可以忽略,本期的副标题:《对话内容在舞台上的打印显示》

 

用scratch制作《仙剑奇侠传95》(08)

本期只解决对话内容在舞台上的打印显示,有两个问题需要解决:

  • 要显示的对话内容要在最上层
  • 要显示大量的文本内容
要实现汉字的输出显示,我首先想到的是点阵打印,针对第一个需求,用图章就首先忽略了,用图章只能显示在图层的最下层;第二个需求呢,只能显示少量的汉字(大约4~5个汉字),也解决不了问题!怎么办呢?最后想到了中国的四大发明之一的“活字印刷术”,可以用这样的思维方式来处理对话文本的显示问题!但是又面临的另一个问题,中国文化博大精深,汉字有好几万个,怎么处理的过来呢?但仔细一想其实常用的汉字也没几个,绝对可以应付《仙剑》的对白。汉字一级字库有3755个,删除数字和不常用字符也就3000多点,那么将这些字做成字模(图片)问题就迎刃而解了。
我是用Python中的pygame库转换的图片,代码贴出来大家借鉴一下:
import os,pygamepygame.init()
def read_file(filename):
    # fr = file reader
    content = ''
    with open(filename, encoding='utf-8') as fr:
        content = fr.read()
    return contentdef word_to_png(word, pic_dir):
    word = u'{}'.format(word)
    font = pygame.font.SysFont('simsunnsimsun',22)
    #font = pygame.font.Font('simfang.ttf', 18)
    rtext = font.render(word, True, (255, 255, 255),None)
    pygame.image.save(rtext, os.path.join(pic_dir, word + ".png"))file_path = '字库.txt'
pic_dir = 'pic'
if not os.path.exists(pic_dir):
    os.mkdir(pic_dir)
content = read_file(file_path)
word_list = content.split('n')
for word in word_list:
    word_to_png(word, pic_dir)
将所有对白存放在一个列表中,要做的就是把列表中的每一项文本内容打印在舞台上。

用scratch制作《仙剑奇侠传95》(08)

遍历每一行文本并将其克隆并显示,加了冒号和右边界换行判断。

用scratch制作《仙剑奇侠传95》(08)

本系列只提供素材分享,不分享源代码,抱歉!~

素材链接: https://pan.baidu.com/s/1vaYrN0UKi3EeapRL9mH0hQ 提取码: vyh1

指导视频:

转自公众号:
嘻嘻哈哈学编程

您必须 登录 才能发表评论!