Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • CreatiCode
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

CreatiCode Scratch Forum

  1. CreatiCode Forum
  2. 知识库
  3. 小教程
  4. 三维 - 点选字母(难度:2级)

三维 - 点选字母(难度:2级)

Scheduled Pinned Locked Moved 小教程
1 Posts 1 Posters 738 Views
  • 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 Offline
    C Offline
    creaticodeteacher2-mail
    wrote on last edited by admin
    #1

     

    介绍

    在本教程,我们将开发一个简单的选项程序,有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”,我们让它膨胀再回缩,可使用积木“更新比例”:


     
    最终结果如下:

     
     

    创意扩展

    你可以进一步扩展这个项目,以下是一些思路:

    • 其他物体:“选取”事件是三维程序中最常见的用户互动方式,可用于任意物体。
    • 其他动画效果:你可尝试当物体被选取时修改物体的颜色/纹理/光泽/动画。
    1 Reply Last reply
    0

    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

    With your input, this post could be even better 💗

    Register Login
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode