最新消息:

第一章 动作和绘图

Scratch 少儿编程 2083浏览 0评论

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

        在入门教程里,我们粗略的介绍了各个模块的功能,从本章开始,我们将详细的介绍各个元素,为掌握更多的编程工具做好准备。本章将介绍如下内容:

    • 探索Scratch种动作和笔画模块的积木
    • 使用角色制作动画并在舞台上移动
    • 绘制富有艺术感的集合图形
    • 理解角色克隆的重要性

插上创意的翅膀,随我一起翱翔在计算机图形学的世界吧!

 

一、使用动作模块的积木

如果要制作游戏或者带有动画的程序,使用动作模块中的积木移动角色是最常见的操作。所谓角色移动,是指命令角色移动到舞台中的某一个具体的坐标点,或者旋转到一个特定的方向。本节就来学习角色的移动。

 

1、绝对动作

入门教程里有讲,舞台是一个480*360的矩形网格,其中线点是坐标(0,0)。在Scratch的动作模块中,共有四个绝对动作的积木

第一章 动作和绘图
这些积木能精确的把角色移动到舞台的某个具体位置。

下面我们通过一个小例子来演示绝对动作。假设火箭角色Rocket要击中目标角色Target,目标角色的坐标位置是(200,150)。最简单的方法就是使用积木第一章 动作和绘图,如图1所示,X坐标告诉角色在舞台水平移动的距离,Y坐标告诉角色垂直移动的距离。

第一章 动作和绘图
图1:使用移动到x:y:积木吧角色移动到舞台的任何位置

火箭角色Rocket在移动时有两个问题,首先它没有面向角色Target,而是向上方移动;其次是直接从点(0,0)移动到了点(200,150)。我们先来解决第二个问题。为了让火箭看起来是缓慢移动,而不是瞬间移动,我可以使用积木第一章 动作和绘图。这样就能根据时间的长短来看到火箭移动的轨迹。

火箭还有另外一种击中目标的方式,那就是单独改变x,y的坐标,如图2所示:

第一章 动作和绘图
图2:单独设置角色x,y的坐标

注意:一般脚本中的坐标是指角色的中心点的位置。

 

2、相对动作

如图3所示,和之前不同的是图中没有任何可以参考的坐标,那么火箭要如何才能击中目标呢?如果火箭Rocket会说话,它一定会说:“向前移动三步,向右转,再向前移动2步”。

第一章 动作和绘图

图3:可以使用相对动作积木移动角色

第一章 动作和绘图这些都是相对动作积木,图4展示了Scratch种各个方向对应的度数。

第一章 动作和绘图
图4:Scratch中0是向上,90度是向右,180度是向下,-90度是向左

使用第一章 动作和绘图积木就能将角色旋转到任意的一个角度。如果只是要面向上下左右,那么使用该积木种的下拉菜单即可快速选择。如果要更精确的方向,则需要在参数中制定。角度甚至可以是负数。

现在你应该明白了Scratch中方向的概念,你可以自己试试各个动作积木是如何工作的。

 

3、其他动作

我们继续来学习最后四个动作积木:

第一章 动作和绘图

下面我们来创建一个简单的火箭撞击太阳的小程序来演示这4个动作积木的作用。    第一章 动作和绘图

图5:火箭一直追着太阳移动

这个程序包含了角色Sun和Spaceship,每个角色都有一段自己的脚本。当点击绿旗后,角色Sun就会随鼠标移动,而角色Spaceship则会追着Sun缓慢移动。

 

二、画笔模块和简单的画图程序

在这一节中,我们来学习画笔模块中的各个积木,了解如何让角色绘制出自己的移动轨迹。

舞台上每一个角色都有一支看不见的画笔,这支画笔有两种状态:落下或抬起。如果当前画笔的状态是落下,那么当角色移动时,它就会按照画笔的属性绘制出轨迹,反之,画笔不会留下任何轨迹。使用画笔模块便可是设置画笔的状态和属性。

我们先来执行三段脚本,这三段脚本使用画笔种的大部分积木。尝试建立并运行,看看每段脚本的绘制效果。记得在运行脚本之前设置画笔状态为落笔。

第一章 动作和绘图

图6:三段不同的脚本来观察画笔的积木效果

下面我们利用画笔模块中的积木来完成一个简单的画图程序。首先创建一个新的项目,将猫咪角色删除,添加一个类似于爬虫的角色。在角色中添加如图6的脚本,然后看看屏幕上会有什么变化呢?

第一章 动作和绘图

图7:利用画笔来绘制不同的图形

你还可以增添很多功能,比如按下W键画笔变粗,按下N键画笔变细,等等。

 

三、神奇的重复执行

        前面,我们学习的程序还是相对简单的,当你的脚本越来越大时,你可能会发现积木中会出现大量的重复。重复的积木越多,脚本就越长,难以理解和阅读,那么如何避免这个问题呢?我们来学习控制模块中的“重复执行”积木吧!

        假设要绘制一个正方形的图形,我们依次执行如下的命令,看看两段代码执行的结果如何?

第一章 动作和绘图

图8:重复执行的优势

        第一段程序显得非常的复杂,而且是重复的步骤,当我们把使用了重复执行积木后,就变得简单多了。我们再来添加一段脚本,当键盘按下a键后,执行如下的脚本:

第一章 动作和绘图

图9:绘制复杂的图形

        我们再来制作一段旋转的正方形的图案:

第一章 动作和绘图

图10:绘制复杂的图形

上面我们看到,只要旋转重复执行,就能把简单的图案编程复杂的图案,但如果我们旋转的不再是简单的图案,而是复杂的图案呢?遇到这种情况,我们通常会在绘图编辑器种创建出这么一个复杂图案的造型,然后使用“图章”积木在舞台上不断的复制,下面来绘制一个大风车看看这个积木的神奇效果。

第一章 动作和绘图
图11:利用图章积木绘制风筝

        创建一个项目,将猫咪删除,在角色列表选“绘制新角色”,绘制一个旗帜图形,然后为角色添加如图11的脚本,看看神奇的效果。

        在本章总,我们学习了如何使用绝对动作积木移动角色,也学会了参考角色当前的位置或方向进行移动的相对动作积木。之后还学习了画笔模块。随着绘制的图案越来越复杂,你会发现重复执行积木能创建更简短、更高效的脚本,然后还学习了图章积木配合重复执行积木绘制复杂图形的方法。

        结合本章学习的内容,我们将在“游戏实战”菜单栏教大家制作两个游戏,“3-猫咪收集钱袋”和“4-接苹果的购物车”。

 

 

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