14.10 指针⼿势

在平板设备上,Scratch不提供软件键盘。要使用键盘,我们需要在Scratch中编程。然而,使用鼠标点击和手势是与平板设备自然交互的方式。

为了向用户提供一些反馈,我们可视化手势的结果。在下面的图中,我们看到了三个简单的点击。手势说明显示了1秒钟。

1.png

如果我们按下超过0.3秒,点击将被检测为长按。在下面的图中,我们有3个正常的点击和1个长按。

2.png

这是向右移动的手势。它可以用于跳转到下一页。

3.png

这是一个向下的手势。

4.png

14.11 手势算法

在开始时,我们记录初始鼠标位置(x,y)和时间t。当笔落下时,手势精灵移动5帧到鼠标位置。

5.png

在手势结束时,我们计算位移向量(dx,dy)。如果位移向量为零,则进行单击。然后,我们等待鼠标释放并检查经过的时间。

如果超过0.3秒,我们进行长按并绘制一个更大的圆圈,以使用户清楚地看到。

6.png

如果位移值不为零,我们确定它的方向。dx = dy线是从左到右的上向对角线。dx = -dy线是从左到右的下向对角线。

使用这些条件,我们得到4种情况:

由于自动翻译的原因,我们尽可能使用具体的英语单词。这就是为什么我们不只使用left/right或up/down。

7.png

我们想为所有10个幻灯片的手势使用文本反馈。然而,对于说话的声音,我们只需要在第9张幻灯片上显示手势。

8.png

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