重庆万州区童翼园编程 任亚飞
我们都知道,Scratch 中显示说话内容有两个模块,“说…”和“说…2 秒”。Scratch 将文字内容显示出来,分别是说话几秒和说话直到被下一句话顶掉,但这两个都不够酷,我们想要让文字一个字一个字地冒出来,这样的特效看上去效果就很好,那么要怎么实现呢?
其实也不难,我们只要用一个循环就搞定了,从对话列表里面取一条要说的话,然后不断地用“第某个字符:”的功能,从话里面一个个地把字取出来,然后跟已经取出的话,连接起来,再不停地说出来,效果就达到了。
一、中文逐字显示
新建三个变量“输入的中文”“次数”“说出的文案”。变量“输入的中文”用于储存我们显示的所有文字;变量“次数”用于每次循环的索引;变量“说出的文案”用于逐字显示功能(图1)。
当按下空格键,分别把变量“输入的中文”“次数”“说出的文案”赋值设为“大家好!欢迎订阅电脑报。”“1”“空”。
变量“输入的中文”有多少字符,我们就重复执行多少次。每一次的执行把变量“说出的文案”赋在变量“输入的中文”的第变量“次数”个字符上。让后说的模块指令说出变量“说出的文案”。再把变量“次数”增加1,主要用于跟变量“输入的中文”字符数同步。利用等待时间模块指令实现控制逐字显示快慢功能,如果想显示快就把时间设置大点,慢就设置小点。
二、英文逐字显示
英文显示和中文显示区别在于中文一个字体一个字符,英文是一个单词很多个字符。这里用到了电脑键盘空格占字符位来隔开两单词直接的分割,把每一个字符(包括空格键占的字符)加入到列表,然后把列表每一项读出来的原理实现逐字显示功能。
同样的变量“输入的英文”“次数”“说出的文案”,再加一个“字符”的变量和新建列表“英文字符串”。
这里变量的作用和中文逐字显示一样,变量“输入的英文”用于储存我们显示的所有文字;变量“次数”用于每次循环的索引;变量“说出的文案”用于逐字显示,列表用于每项存储一个字符(图2)。
点击小绿旗,分别把变量“输入的英文”“次数”“说出的文案”赋值为“Hello everyoneWelcome to subscribe to (ComputerNews ) .”“1”“空”。
同样重复执行“输入的英文”的字符数次。每一次执行将“输入的英文”的第“次数”个的字符加入列表“英文字符串”,然后把“说出的文案”设为列表“英文字符”的第“次数”项,说“说出的文案”内容。把变量“次数”增加1,显示时间快慢用“等待多少秒”来调节,英文逐字功能就实现了。
……
关注读览天下微信,
100万篇深度好文,
等你来看……