Navigation

    CreatiCode Scratch Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode

    自制积木——第1部分

    二维积木
    1
    1
    261
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      creaticodeteacher2-mail last edited by admin

       

      先修科目

      • 组装积木

       
       

      介绍

      当你编写Scratch程序,游乐场提供了很多积木供你选择。不过,你还可以自制积木。自制积木需以下3步:

      1. 定义新积木:告诉系统新积木长什么样;
      2. 实现新积木:告诉系统这个积木要做什么;
      3. 使用新积木:之后能够从浮出控件把这个新积木拖放至程序中。

       
       

      一个完整示例

      在这个完整但简单的示例中,我们依次完成这3个步骤。

       

      定义新积木

      定义新积木方法:打开“自制积木”类别,然后点击“制作新的积木”。为积木输入名称,名称任意取,例如“奔跑”,然后点击“完成”。就会看到浮出控件有一个新的积木“奔跑”,代码区域有一个积木“定义奔跑”。

       

      实现新积木

      现在我们要把别的积木添加到堆栈“定义奔跑”,就像构建其他代码堆栈一样。比如,每当我们运行积木“奔跑”,就让角色右移5步,如下所示:

       

      使用新积木

      现在已经定义并实现了积木,就可以在程序其他地方使用了。例如,每当点击角色,就让角色奔跑:

      系统每当遇到积木“奔跑”,就会跳到堆栈“定义奔跑”,并依次完成堆栈中的所有积木。

      这就是自制积木的一个简单例子。下面我们看一些不同种类的自制积木。

       
       

      定义一个带输入参数的积木

      游乐场提供的很多积木都带输入参数。例如,积木“说( )”带一个输入参数,以便于说不同的东西。你也可以让自制积木带输入参数。

      当你定义积木时,可添加3种输入:

      1. 数字或文字:这个输入框为椭圆形,可接受数字或文字。
      2. 布尔型:这个输入框两侧为三角形的尖,可接受布尔型积木。
      3. 颜色:这个输入框为色值。

      现在我们修改积木“奔跑”,使其带3个输入参数,分别为“次数”、“落笔”和“颜色”:

      如上所示,修改积木的定义后,积木“定义奔跑”在堆栈中装配了3个输入积木,以供你使用。注意,你只能在这个堆栈中使用这3个积木。

      比如,我们可以用输入值“次数”控制移动了多少步,用输入值“落笔”控制是否落笔,用输入值“颜色”控制画笔的颜色:

       
       

      使用带输入参数的积木

      使用新的积木“奔跑”就跟使用别的积木一样。只需要设置这3个输入参数。例如,如果你把第一个参数设置为4,角色就移动4步。

      当你点击角色时,就会看到这样:

       
       

      如何删除自制积木?

      若要删除自制积木,必须找出来你在哪里使用了自制积木,并将其全部删除,然后就可以删除“定义”堆栈。如果仍然有地方在使用自制积木,就不能删除“定义”堆栈。

       
       

      修改自制积木的颜色

      修改自制积木的颜色:在“自制积木”类别中点击按钮“设置自制积木的颜色”。
      Untitled3.png

      出现一个弹窗让你选择自制积木的颜色。点击“改变”即可设置完成。

      示例如下:


       

       
       

      继续学习

      • 自制积木——第2部分
      1 Reply Last reply Reply Quote 0
      • First post
        Last post