三维 - 点选字母(难度:2级)
-
介绍
在本教程,我们将开发一个简单的选项程序,有3个字母“A”“B”“C”,点选每个字母时会展示对应的动画,每个字母的动画互不相同。
第1步 - 新建一个带三维坐标轴的“空白”场景
新建一个项目,删除小狗角色,在“空的1”角色中添加如下积木。积木“创建三维场景”和“显示三维坐标轴”位于“三维场景”类别中。
如下图所示,x轴指向右,y轴指向前(指向屏幕内),z轴指向上。你可以在舞台上拖动鼠标,使摄像头绕坐标轴旋转。
第2步 - 添加造型:字母“A”
接下来,切换至“造型”选项卡,点击左下角按钮并打开造型库。找到字母“A”的造型“发光字-A”,并选择该造型。
第3步 - 将“发光字-A”挤出为三维字母
现在要把字母添加到我们的三维世界中。造型图像是二维的,没有厚度,为了使它出现厚度,我们将使用“三维物体”类别中的积木“增厚造型”。
要选中造型“发光字-A”,侧面颜色设置为白色,新物体命名为“A”。
第4步 - 让字母旋转
为了好玩,我们让字母旋转。可以设置速度“Z轴旋转”,即可让字母绕z轴旋转。可尝试不同的速度,如200。
现在就得到一个旋转的三维字母A,如下所示:
第5步 - 添加造型“发光字-B”并挤出增厚
接下来,我们添加造型“发光字-B”。
然后,复制代码积木使这个新字母增厚并旋转。不要忘了命名为“B”。如果还是命名为“A”,那么原来那个字母对象“A”就会被删除。
现在2个字母对象一起旋转:
第6步 - 把字母“B”移到左边
为了把两个字母分开,我们可以把字母“B”移到左边。因为x轴指向右,我们可以把“B”的x坐标设为负值。
注意,对象“A”不会移动,因为在积木“将x设为”的前面最后添加的对象是“B”,所以这个积木只作用于对象“B”。此时,对象“B”是活跃的“角色对象”,所有操作都是针对对象“B”,一直到另一个对象被选取作为新的角色对象。
得到如下结果:
第7步 - 在右边添加字母“C”
添加字母“C”的步骤相同,可以重复使用添加“B”的积木。
现在有3个字母物体:
第8步 - 开启物体选取
接下来,我们让用户能够用鼠标选取这3个对象。方法就是用积木“开启选取事件”。输入框空着,以便于当前角色中的全部对象都变成可选取的。
第9步 - 处理选取事件
为了让物体被选中时做一些动作,我们要使用帽子积木“当这个角色中的一个物体被选取时”。
添加这个帽子积木后,每当某个物体被选中,报告积木“被选取物体名字”就会告诉我们该物体的名称。如果没有物体被选中,该积木就报告一个空值。可通过在舞台上显示该积木的值来验证:
第10步 - 选中被鼠标选取的物体对象
假如我们要让被选取的物体跳动,在此之前,**一定要把选取的物体设置为角色物体。**否则,动作积木就无法应用到对应的物体。
可利用名称选择物体,使用积木“被选取物体名字”来获取物体的名称。注意舞台下方的物体列表,现在当你点击不同的物体,角色物体名称就随着变动。
第11步 - 让字母“B”跳动
假如我们要让字母“B”被选取时跳动。通过检查“被选取物体名字”来检验被选取物体是否为字母“B”。然后通过设置“上升速度”让它跳起,然后设置一个较大的“重力加速度”让它快速下落:
现在只有点击字母“B”时才会跳动:
第12步 - 让字母“A”摆动
相同地,当点击字母“A”时,我们让它微微摆动。可通过绕“y轴”旋转来实现:
结果如下:
第13步 - 让字母“C”膨胀
最后,字母“C”,我们让它膨胀再回缩,可使用积木“更新比例”:
最终结果如下:
创意扩展
你可以进一步扩展这个项目,以下是一些思路:
- 其他物体:“选取”事件是三维程序中最常见的用户互动方式,可用于任意物体。
- 其他动画效果:你可尝试当物体被选取时修改物体的颜色/纹理/光泽/动画。