32
将将将将将将将 : 将将将将 By Deborah Nelson Duke University Professor Susan Rodger July 13, 2008

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

  • Upload
    keren

  • View
    70

  • Download
    6

Embed Size (px)

DESCRIPTION

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

Citation preview

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

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

By Deborah NelsonDuke University

Professor Susan RodgerJuly 13, 2008

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

概况•这个教程将会叫你使用列表 . 列表是用来存放一些对象的地方 .

•使用列表,你可以让多个对象同时做相同的动作,而不必分别去操作他们 . 你也可以让他们依次做同一个动作 .

•我们将会使用一个列表使得多个忍者同时完成相同的动作,然后让他们依次(按照时间顺序)完成这个动作 .

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

创建世界• 打开一个新的世界,可以使用任意模版 .• 保存 . • 当你打开文件之后,点击一个绿色的名为

“ Add Object” 的按钮(位于屏幕中间) .• 点击 more controls 按钮 . 点击 drop a

dummy at the camera. 将 dummy 重命名为 originalPosition. 点击 Done 返回原来界面 .

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

增加对象• 进入 gallery 然后进入

People 文件夹 . 在你的世界中增加四个evilNinja 对象。

• 增加另外两个人物到你的世界中 .

我添加了 scientist_man 和 scientist_woman(位于 Web Gallery ) .

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

第一部分 : 创建列表• 我们会使用列表使四个 ninjas 同时上下跳跃

然后踢和旋转 .• 单击左侧对象列表中的 world, 然后单击下

面的 properties.• 点击 create new variable 按钮 .• 命名为 characters.看下一张幻灯片的截图 .

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

创建列表 ( 续 1)• 在弹出的灰框中 , 选择 object 作为变量类型 . • 然后勾选 make a List 选项 . • 点击 new item 按钮四次 . • 对于 item0, 点击 <None> 在下拉框中选择

evilNinja. • 对于 item1, 选择 evilNinja2.• 对于 item2, 选择 evilNinja3.• 对于 item3, 选择 evilNinja4.见下一张的截图 .

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

创建列表(续 2 )

• 现在,在 properties 选项的顶端出现了一个characters 列表 .

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

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

method.

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

添加方法 ( 续 1)

• 在出现的下拉菜单中 , 选择 expressions, 然后选择列world.characters.

For all together 表示列表中所有的项目都会同时做出我们添加的动作 .

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

步骤一 : 对于所有的对象• 点击 For all together 声明后面的

item_from_characters 按钮 , 按住你的鼠标向下拖动至写着 Do nothing 的地方 .

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

对于所有的对象 ( 续 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.

• 运行你的世界 . 你的方法如下图所示 :

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

步骤二 : 依次完成动作• 现在拖动 For all in order 至 For all together

下面 , 选择 expressions, 然后 world.characters.

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

依次完成动作 ( 续 1)For all in order (依次完成动作)表示忍者

们将会依次完成我们添加的动作(顺序依照我们添加到列表的顺序)。

• 我们希望忍者们可以逐个扬起手臂并且旋转。• 然而 item_from_characters 是一个整体 , 所

以我们不能让 item_from_characters 扬起它的左臂 .

• 我们需要在方法里面使用累级别设置来操作对象的一部分。

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

依次完成动作 ( 续 2)

• 首先 , 如同之前的步骤,拖动 item_from_characters 到 For all in order 里 ,选择 turn backward ¼ revolution. 将 duration 设置为 .25 seconds 。

• 单击 evilNinja 在对象列表里 . • 选择 functions 选项 向下找到 evilNinja’s part

named key 。

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

Step 3: Object part named key

• 拖动这个方法到 item_from_character 的顶部在 For all in order 指令中。

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

Object part named key (cont 1)对象部分命名键 ( 续 1)

1) 在对象树 , 点击 evilNinja 旁边的 + ,就会看到名为 leftLeg 的子树。

2 )在 turn backward 旁 , 点击框,然后输入leftLeg ,跟它在对象树的大写部分与间距相同——没有间距 , 和第二个 L 必须大写。

按下一张幻灯片的截图的指示操作。

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

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

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

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.

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

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 代码应该如图示:

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

For all in order (cont 3)

• 我们需要最后做一个只有 leftlag 的说明• 将 evilNinja’s part named key 函数 拖到

item_from_characters 那一行,然后再次输入 leftLeg

• 在 part named key 中,将item_from_characters 拖到 evilNinja 顶部。

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

The complete method完成方法

• 下面是完成方法,记得评论你的代码

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

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

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

Step 4: Objects with different parts步骤四:对象的不同部位

• 到目前为止 , 我们的列表只有 evilNinjas 。添加两个其它对象到列表中 :

1 )在对象树中点击 world2 )点击 properties 键进入对话框,然后点击

characters 旁边的框。3 )点击 new item ,然后选择你想添加的对

象。按下一张幻灯片的截图的指示操作

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

注意!• 玩你的世界• 如果你没有按照示范使用相同的对象 , 你可

能会得到一个错误高亮的部分命名函数。• 添加 scientist-man 和 scientist-woman 到列

表中只能用作他们的身体部位的的一个标签 , 因为他们都有 leftLeg 。

• 如果你的角色并没有一个名叫 leftLeg 部分,你会得到一个错误 , 因为世界正在搜索一个不存在的 leftLeg 进行移动。

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

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.

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

Fixing the error (cont 1)纠正错误(续一)

• 在对象树中,点击 Samurai 旁边的 +• 双击 Lleg ,重命名为 leftLeg• 现在玩你的世界• 成功!

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

How to remove an object如何移除一个对象

•从列表中删除一个对象:1)在对象树中点击 world2 )进入 properties 菜单,然后点击characters 旁边的框按下一张幻灯片的截图的指示操作。

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

Deleting an object from your list从列表中删除一个对象

• 3) 拖动你想删除的条目到垃圾桶中。

• 对象仍然存在于你的世界,但是它将从你的列表中移除。

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

摘要• 列表适用于让多元人物执行相同的系列动作。• For all together 意味着列表中的所有对象同时执行任务

• For all in order 意味着列表中的所有对象一个接着一个执行任务

• 使用 part named key 函数来生成对象移动的附带部分,但是但是确保所有的字符有相同的部分 , 标记相同的方式。

• 警告:不要添加太多的对象到你的列表中,因为这样会使大大地降低你的世界运转速度