1 / 32

将对象联合起来 : 使用列表

将对象联合起来 : 使用列表. By Deborah Nelson Duke University Professor Susan Rodger July 13, 2008. 概况. 这个教程将会叫你使用列表 . 列表是用来存放一些对象的地方 . 使用列表,你可以让多个对象同时做相同的动作,而不必分别去操作他们 . 你也可以让他们依次做同一个动作 . 我们将会使用一个列表使得多个忍者同时完成相同的动作,然后让他们依次(按照时间顺序)完成这个动作. 创建世界. 打开一个新的世界,可以使用任意模版 . 保存 .

keren
Télécharger la présentation

将对象联合起来 : 使用列表

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 将对象联合起来:使用列表 By Deborah Nelson Duke University Professor Susan Rodger July 13, 2008

  2. 概况 • 这个教程将会叫你使用列表.列表是用来存放一些对象的地方. • 使用列表,你可以让多个对象同时做相同的动作,而不必分别去操作他们 . 你也可以让他们依次做同一个动作. • 我们将会使用一个列表使得多个忍者同时完成相同的动作,然后让他们依次(按照时间顺序)完成这个动作.

  3. 创建世界 • 打开一个新的世界,可以使用任意模版. • 保存. • 当你打开文件之后,点击一个绿色的名为“Add Object”的按钮(位于屏幕中间). • 点击more controls 按钮. 点击drop a dummy at the camera. 将dummy重命名为originalPosition. 点击Done返回原来界面.

  4. 增加对象 • 进入gallery 然后进入People 文件夹. 在你的世界中增加四个evilNinja对象。 • 增加另外两个人物到你的世界中. • 我添加了scientist_man和scientist_woman(位于Web Gallery).

  5. 第一部分:创建列表 • 我们会使用列表使四个ninjas同时上下跳跃然后踢和旋转. • 单击左侧对象列表中的world,然后单击下面的properties. • 点击create new variable按钮. • 命名为characters. • 看下一张幻灯片的截图.

  6. 创建列表(续1) • 在弹出的灰框中, 选择object作为变量类型. • 然后勾选make a List选项. • 点击new item 按钮四次. • 对于item0, 点击<None>在下拉框中选择evilNinja. • 对于item1, 选择evilNinja2. • 对于item2, 选择evilNinja3. • 对于item3, 选择evilNinja4. • 见下一张的截图.

  7. 创建列表(续2) • 现在,在properties选项的顶端出现了一个characters列表.

  8. 第二部分: 添加方法 • 拖动For all together 到world.my first method.

  9. 添加方法(续1) • 在出现的下拉菜单中, 选择expressions, 然后选择列world.characters. • For all together 表示列表中所有的项目都会同时做出我们添加的动作.

  10. 步骤一: 对于所有的对象 • 点击For all together 声明后面的item_from_characters 按钮,按住你的鼠标向下拖动至写着Do nothing的地方.

  11. 对于所有的对象(续1) • 在出现的下拉菜单中选择turn to face,然后选择camera. • 点击more…,将duration 调整为0.25 seconds. • 如上步骤拖放item_from_characters 按钮两次,第一次选择move up 1 meter,另一个move down 1 meter。都将duration设置为0.25 seconds. • 运行你的世界. 你的方法如下图所示:

  12. 步骤二: 依次完成动作 • 现在拖动For all in order 至For all together下面,选择expressions, 然后world.characters.

  13. 依次完成动作(续 1) • For all in order (依次完成动作)表示忍者们将会依次完成我们添加的动作(顺序依照我们添加到列表的顺序)。 • 我们希望忍者们可以逐个扬起手臂并且旋转。 • 然而item_from_characters是一个整体, 所以我们不能让item_from_characters扬起它的左臂. • 我们需要在方法里面使用累级别设置来操作对象的一部分。

  14. 依次完成动作(续 2) • 首先, 如同之前的步骤,拖动item_from_characters到For all in order里,选择turnbackward¼ revolution. 将duration 设置为.25 seconds。 • 单击evilNinja在对象列表里. • 选择functions选项向下找到evilNinja’s part named key。

  15. Step 3: Object part named key • 拖动这个方法到item_from_character的顶部在For all in order 指令中。

  16. Object part named key (cont 1)对象部分命名键(续1) • 在对象树, 点击evilNinja旁边的+,就会看到名为leftLeg的子树。 2)在turn backward旁,点击框,然后输入leftLeg,跟它在对象树的大写部分与间距相同——没有间距,和第二个L必须大写。 • 按下一张幻灯片的截图的指示操作。

  17. Object part named key (cont 3)对象部分命名键(续3)

  18. For all in order (cont 1) • 拖动位于evilNinja顶部的item_from_characters 到leftLeg对话框里。 • 再次拖动item_from_characters到For all in order 中,在 the leftLeg的下一个指令, 然后选择turn, 在继续向右的一个对话框中, 输入1 revolution. 设置duration 为0.25 seconds.

  19. For all in order (cont 2) • 然后拖动另一个item_from_characters到For all in order中,选择turn, 然后点击forward,然后输入0.25 revolution. 设置duration为0.25 seconds. 目前你的For all in order 代码应该如图示:

  20. For all in order (cont 3) • 我们需要最后做一个只有leftlag的说明 • 将evilNinja’s part named key函数拖到item_from_characters 那一行,然后再次输入leftLeg • 在part named key中,将item_from_characters拖到evilNinja顶部。

  21. The complete method完成方法 • 下面是完成方法,记得评论你的代码

  22. Play your world now现在玩你的世界吧

  23. Step 4: Objects with different parts步骤四:对象的不同部位 • 到目前为止,我们的列表只有evilNinjas。添加两个其它对象到列表中: 1)在对象树中点击world 2)点击properties键进入对话框,然后点击characters旁边的框。 3)点击new item,然后选择你想添加的对象。 • 按下一张幻灯片的截图的指示操作

  24. 注意! • 玩你的世界 • 如果你没有按照示范使用相同的对象,你可能会得到一个错误高亮的部分命名函数。 • 添加scientist-man和scientist-woman到列表中只能用作他们的身体部位的的一个标签,因为他们都有leftLeg。 • 如果你的角色并没有一个名叫leftLeg部分,你会得到一个错误,因为世界正在搜索一个不存在的leftLeg进行移动。

  25. Fixing the error • For example, I’ve added the Samurai (from the Web gallery in the People folder). • 比如,我已经添加了Samurai • When I add him to my list and play the world, I get the following error: • 当我把他添加到我的列表,玩世界时,我得到了错误提示。 • This is because the Samurai does not have a part named leftLeg. • 这是因为Samurai没有leftLeg.

  26. Fixing the error (cont 1)纠正错误(续一) • 在对象树中,点击Samurai旁边的+ • 双击Lleg,重命名为leftLeg • 现在玩你的世界 • 成功!

  27. How to remove an object如何移除一个对象 • 从列表中删除一个对象: • 在对象树中点击world 2)进入properties菜单,然后点击characters旁边的框 • 按下一张幻灯片的截图的指示操作。

  28. Deleting an object from your list从列表中删除一个对象 • 3) 拖动你想删除的条目到垃圾桶中。 • 对象仍然存在于你的世界,但是它将从你的列表中移除。

  29. 摘要 • 列表适用于让多元人物执行相同的系列动作。 • For all together意味着列表中的所有对象同时执行任务 • For all in order意味着列表中的所有对象一个接着一个执行任务 • 使用part named key函数来生成对象移动的附带部分,但是但是确保所有的字符有相同的部分,标记相同的方式。 • 警告:不要添加太多的对象到你的列表中,因为这样会使大大地降低你的世界运转速度

More Related