三维 - 魔方(难度:2级)
-
用到的相关知识
介绍
在本教程,我们将制作一个魔方,预览如下:
第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层魔方如下:
创意扩展
从这个基本的魔方项目,你可以扩展成多种形式。下面是一些创意想法:
-
其他形状:魔方并不一定非要用四方块,对吧?你可以尝试用其他形状,如球形、圆柱体。
-
随机旋转:每个盒子可以随机朝向不同的方向。添加每个盒子时,你可以用积木“旋转到x( ) y( ) z( )”进行随机旋转。
-
其他整体形状:除了立方形,你还可以用变量循环把盒子堆成其他形状,比如金字塔形、树形。
-