Navigation

    CreatiCode Scratch Forum

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

    三维 - 魔方(难度:2级)

    小教程
    1
    1
    269
    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

       

      用到的相关知识

      • 创建三维场景
      • 使用变量
      • 使用变量循环
      • 使用盒子
      • 在控制台打印消息
      • 三维坐标和位置

       
       

      介绍

      在本教程,我们将制作一个魔方,预览如下:

       

      第1步 - 创建一个带三维坐标轴的“空”场景

      首先新建一个项目,删除角色1,在“空的1”角色中添加如下这些积木。积木“创建三维场景”和“显示三维坐标轴“在”三维场景“类别中。


       
      如下图所示,x轴指向右,y轴指向前(指向屏幕内),z轴指向上。你可以在舞台上拖动鼠标,使摄像头绕坐标轴旋转:

       
       

      第2步 - 添加一个盒子

      现在添加魔方的第一个盒子。在“三维物体”类别中找到积木“添加6色盒子”,然后把6个面的颜色换为自己喜欢的任意颜色。3个维度可以保持100不变。


       
      这个盒子将被添加到位置(x=0, y=0, z=0),也就是说其中心点位于三维坐标系的原点。你可以放大进行验证。

       
       

      第3步 - 在右侧再放一个盒子

      现在再添加一个盒子。要把这个盒子移到不同的位置,以免和第一个盒子重叠。
      如下所示,你可以先复制积木“添加6色盒子”,然后把新盒子的x坐标设为100。


       
      注意:尽管有2个盒子,但看起来像是一个宽盒子,因为两者之间没有缝隙。

       
       

      第4步 - 减小盒子的尺寸

      为了让盒子之间有一个小缝隙,我们可以减小盒子尺寸,还可以增加盒子之间的间距。比如,我们把盒子尺寸从100减至98:


       
      现在2个盒子之间就有了一个缝隙:

       
       

      第5步 - 添加第三个盒子

      添加第三个盒子与第二个盒子类似,就除了要放到左边,x坐标为-100:

       
       

      第6步 - 使用变量循环

      尽管非常容易像这样复制积木来添加盒子,但有更快的方式来编写这个程序。例如,我们可以用“变量循环”。
      你需要定义一个新变量“s”,然后用变量循环让s从-100走到100,步长为100。这样的话,s从-100开始,然后变为0,然后变为100。

       
      现在我们修改程序,用变量s来创建和移动盒子:

      现在我们得到了同样的结果,而程序更容易修改。例如,若要修改盒子的颜色和尺寸,只需要在一个积木中修改。

       
       

      第7步 - 3排盒子

      现在我们制作了一排3个盒子,接下来我们要制作3排(9个盒子)。这3排分别放在不同的y坐标上:-100、0、100。

      需要定义一个新变量“t”,然后添加一个新的变量循环,使t取值-100、0、100。


       
      现在我们把这个新的变量循环放到原有变量循环外面,然后用变量s和t移动盒子。

       
       

      第8步 - 打印变量x和y

      由于程序运行非常快,根本看不到程序的运行过程。你可以用一个很方便的工具来帮助你了解事件的顺序:打印日志。
      做法就是,在变量循环中添加积木“打印( )到控制台,然后添加一个积木“将( )( )( )通过( )连接”,用以读取变量x和y。

       
       

      第9步 - 3层盒子

      最后一步,我们要创建3层盒子(27个)。这3层竖着叠起来,z坐标分别为-100、0、100。
      修改方法类似,就是再加一个变量循环,使用新变量“u”。为了把盒子移到某个z坐标,你要用积木“将z设为( )”。

       
       

      第9步 - 5乘5乘5

      因为我们用的是变量循环,很容易修改变量的范围。例如,我们可以让这3个变量都从-200走到200,每个变量就取5个值(-200、-100、0、100、200)。


       
      5层魔方如下:

       
       

      创意扩展

      从这个基本的魔方项目,你可以扩展成多种形式。下面是一些创意想法:

      1. 其他形状:魔方并不一定非要用四方块,对吧?你可以尝试用其他形状,如球形、圆柱体。

      2. 随机旋转:每个盒子可以随机朝向不同的方向。添加每个盒子时,你可以用积木“旋转到x( ) y( ) z( )”进行随机旋转。

      3. 其他整体形状:除了立方形,你还可以用变量循环把盒子堆成其他形状,比如金字塔形、树形。

      1 Reply Last reply Reply Quote 0
      • First post
        Last post