Scratch 不能在舞台上放置任意⽂本。通常它只能
- 处理预定义精灵
- 产生任意画笔
15.1 显⽰⽂本
要在 Scratch 应⽤程序中显⽰⽂本,您可以使用:
- 对话⽓泡
- 变量显⽰
- 列表表示
我们在本节中开发的是定义⼀个特殊的精灵,它具有作为服装的字⺟符号(字⺟、数字、标点符号)。然后我们这些字⺟精灵来创建⽂本。
通过使⽤精灵作为字⺟,我们的⽂本可以有何类型的
- 位置
- 大小
- 颜色
- 角度
如果⽂本是静态的,我们可以使⽤图章。如果⽂本需要是动态的,我们使⽤克隆。
15.2 定义字母
⾸先是定义⼀个字⺟精灵。我们只对 26 个⼩写字⺟进行处理,但我们可以包括⼤写字⺟、数字、标点符号和其他特殊字符。
这是字⺟a。它是带有字⺟ a 的⽮量图。已注意创建⼀个⾼度正好为 101 分的字⺟。
精灵的原点需要放在信箱的左下⻆。这最好在最⾼缩放级别下完成。
现在我们可以复制这套服装 25 次。然后我们⽤字⺟表中剩余的字⺟替换所有字⺟。
最后,我们重命名所有精灵,使它们的名称与它们的字⺟匹配。这是前三个字⺟。
我们注意到所有三个框的⾼度均为 101 点,但宽度从 46 点到 49 点到 36 点不等。
这与将在下⼀节中计算并存储在名为Width 的列表中的值⾮常接近。
15.3 计算字母宽度
Scratch 没有返回精灵宽度的功能。测量精灵⼤⼩的唯⼀⽅法是逐像素移动它,直到它接触到四个边缘之⼀。
我们为字⺟宽度的 26 个值创建⼀个宽度列表。⼀开始我们
- 将字⺟重置为⽔平(90°)
- 切换到第⼀个服装(字⺟ a)
- 将其⼤小设置为 100%
- 清除任何图形效果
- 删除列表中的所有项⽬
- 进⼊循环以获取每个字母的宽度
由于所有服装的原点都在左下⻆,因此我们只需要检测与右边缘的交点。
该函数的⼯作原理如下:
- 将字⺟放在 x=120 处。
- 逐个像素前到右⾯接触边缘
- 宽度w = 240 – x
15.4 写一段文字
我们现在可以定义⼀个函数来组合⽂本的字⺟。功能:
- 设置精灵⼤⼩
- 重置索引i
- 为⽂本每个字⺟进入循环
- 在循环中,我们将服装切换到当前⻆⾊
- 从宽度表中获取它的宽度
- 如果⻆⾊是空格,我前进 20 步
- 否则我们前进字母的宽度
前⾯的函数根据当前精灵的:
- 位置⽅向绘制⽂本
- 颜⾊透明度为⽅便起⻅,我们定义了第⼆个写⼊函数,其中包括位置。
现在我们可以定义我们的演⽰,从按空格键开始。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容