在Scratch中,无法将任意文本放置在舞台上。通常情况下,只能操作预定义的精灵或使用钢笔工具生成任意绘画。

15.1 显示文本

要在Scratch应用程序中显示文本,可以使用:

对话框

变量显示

列表表示

1.png

在本节中,我们将开发一个特殊的精灵,它具有字母符号(字母、数字、标点符号)作为角色。然后,我们将使用这些字母精灵来创建文本。通过使用精灵作为字母,我们的文本可以具有:

位置

大小

颜色

角度

如果文本是静态的,我们可以使用印章工具。如果文本需要是动态的,我们使用克隆。

2.png

15.2 定义字母

首先,我们定义一个字母精灵。我们只处理26个小写字母,但我们可以包括大写字母、数字、标点符号和其他特殊字符。

这是字母“a”。它是一个带有字母“a”的矢量图形。请注意,字母的高度恰好为101。

3.png

精灵的原点需要放置在邮箱的左下角。最好在最高缩放级别下进行此操作。

4.png

现在我们可以将此造型复制25次。然后,我们用剩余的字母替换所有字母。

最后,我们将所有精灵的名称重命名为它们的字母。这是前三个字母。

5.png

我们注意到所有三个框的高度为101个点,但宽度从46个点到49个点到36个点不等。

这非常接近将在下一节中计算并存储在名为“宽度”的列表中的值。

6.png

15.3 计算字母宽度

Scratch没有返回精灵宽度的函数。测量精灵大小的唯一方法是将其像素一点一点地移动,直到它接触到四个边缘之一。

我们创建一个宽度列表,其中包含26个字母值。在开始时,我们:

将字母重置为水平方向(90°)。

切换到第一个造型(字母“a”)。

将其大小设置为100%。

清除任何图形效果。

删除列表中的所有项目。

进入循环以获取每个字母的宽度。

7.png

由于所有服装的原点都在左下⻆,因此我们只需要检测与右边缘的交点。

该函数的⼯作原理如下:

  • 将字⺟放在 x=120 处。
  • 逐个像素前到右⾯接触边缘
  • 宽度w = 240 – x

8.png

15.4 写一段文字

现在我们可以定义一个函数来组合文本字符。该函数执行以下操作:

  • 设置精灵大小。
  • 重置索引 i。
  • 进入循环以处理文本中的每个字符。
  • 在循环中,我们切换服装到当前字符。
  • 从宽度表中获取其宽度。
  • 如果字符是空格,则向前移动 20 步。
  • 否则,向前移动字母的宽度。

9.png

上述函数根据当前精灵执行以下操作:

  • 位置
  • 方向
  • 颜色
  • 透明度

为方便起见,我们定义了一个包括位置的第二个写入函数。

10.png

现在我们可以定义演示,从按下空格键开始。

11.png

标签: Scratch, Scratch编程, Scratch中国, 少儿编程, Scratch社区, Scratch编程社区, Scratch编程课程, Scratch编程教程