《三、对象的属性与方法.doc》由会员分享,可在线阅读,更多相关《三、对象的属性与方法.doc(46页珍藏版)》请在三一文库上搜索。
1、三、对象的属性与方法在Alice中每一对象都有它的properties、methods、functions,前面的一些实例已经涉及到一个对象的方法与属性,这里再通过实例来进一步说明对象属性、方法的含义及使用方法,而函数的功能及使用方法后面另作介绍。1.对象的属性(properties)对象的属性会在对象details板中的properties列表中列出,多数对象具有下述属性:Color:对象的基本颜色。Opacity:对象的可见度,0%表示完全透明,对象不可见,100%表示不透明,对象可见。Vehicle:它使一个对象跟随另一对象一起运动。Skin texture:贴在对象上的图像。filli
2、ngStyle:对象是以实体模型或是线框模型表示。pointOfView:指出对象的位置和方位。isShowing:决定对象在场景中是出现或是消失。Sound:对象能产生的声音。当拖某个属性至编辑区时,利用出现的菜单设定相应的属性值,或者直接点击该属性,在出现的菜单上设定其属性值,在前面的二个实例中,巳使用过对象的属性,如仙女和航天员的属性vehicle的应用。下面再用一个实例来说明对象属性的使用。实例8:Texture map(纹理面图)如何用在一个形体上复盖一张纹理面图,从而形成Alice中一个新的对象,如建造一个地球对象,国旗对象以及建筑物对象等。(1) 选择沙地为背景,在本地库的Sha
3、pes文件夹中选择sphereHighPoly加入到场景中,再利用对象操作按钮将它移至屏幕中央。Texture实际上就是一张图,Alice接受大多数的图像格式,如Jpegs,png和Bitmap。利用绘图软件将一张地球表面的图进行处理,使它无任何边框,以Alice接受的图像格式存于文件系统中,以便在Alice需要import时能找到它。点击File并选择import,在对话框中打入刚存入图形的文件名Earth.jpeg,点击import,尽管在主窗口上没有出现地球表面的图像,但它会在world属性列表的skin texture中出现。 右击对象树上的sphereHighPoly,选择renam
4、e,重新命名为PlanetEarth。再点击属性列表中的skin texture属性,选择world.Earth。此时在主窗口中看到了地球。为了加入新的对象,将地球向后移开,再次从Shapes文件夹中选择Box对象,并将它加入到场景中,利用对象操作按钮将它放大成如下图形同样利用绘图软件剪切出一张建筑表面图,并以building cover文件名存入。类似地点击File并选择import,在对话框中打入刚存入图形的文件名building cover.jpeg,点击import。 点击File并选择import,在对话框中打入刚存入图形的文件名building cover.jpeg,点击impor
5、t,它同样会在world属性列表的skin texture中出现。 右击对象树上的Box,选择rename,重新命名为SkyScraper。再点击属性列表中的skin texture属性,选择world.building cover。对出现在主窗口的建筑物利用相机控制按钮调整它象一座空中摩天楼(sky scraper)。实例9:溜冰女孩的场景设置(1) 点击File及New world,出现welcome to Alice!窗口,从中选择snow作为背景,现在要改变天空的色颜,让它稍为暗一点,在world的属性列表中找到atmosphereColor(天空的色颜),点击其后面的彩色盒并选择ot
6、her,在彩色盘上将游标指向一暗兰色的方格,该方格位于从底部算起的第三行从左边算起的第七列的位置,此时屏幕上会显示该位置为”0,0,153”,然后点击ok,这样天空颜色改变为暗兰色。(2)现在要加入有小木屋和树的冰湖及溜冰的小女孩,点击Add object,在出现的本地库的右上角点击search Gallery,打入lake再点击search,在出现的对象中点击class lake,主窗口就会出现有小木屋和树的冰湖的场景,同样再点击search Gallery,打入ice skater后再点击search,从所列出的对象中选择Class iceSkater加入到场景中。同时利用对象定位按钮将她
7、定位面向相机。按Done转到编程界面,点击File将此初始场景以lake skater文件名存入,以便以后编程时调出。(3) 点击对象树中的iceSkater,再点击Details板上的属性列表,其中有pose、pose2、pose3及pose4四个属性,分别将它们拖入world my first method的编辑区,按Play后看lake skater摆的什么姿势,以便在编程中调用它。2.对象的方法什么是对象的方法,方法是用来定义对象的行为,它是由一系列命令所组成,指示对象去完成指定的动作。在Alice中每一个对象都有一组内建的方法,或叫原始的方法,如move 、turn、roll、say
8、等20种方法。1. move(direction,amount)2. turn(direction,amount)3. roll(direction,amount)4. resize(amount)5. think(what)6. playSound(sound)7. moveTo(asSeenBy)8. moveToward(target,amount)9. moveAwayFrom(target,amount)10. orientTo(asSeenBy)11. turnToFace(target)12. pointAt(target)13. setPointOfView(asSeenBy)
9、14. setPose(pose)15. standUp()16. moveAtSpeed(direction,speed)17. turnAtSpeed(direction,speed)18. rollAtSpeed(direction,speed)19. constrainToPointAt(target)这些方法是每个对象经常要使用的方法,它们会在该对象details板上的methods列表中列出,如前例中航天员的右臂部分内建方法如下:如列表中rightArm是对象名,move是方法名,该方法是要对象在虚拟场景中移动,当把move拖入方法编辑区时,将会出现移动方向上、下、左、右、前、后六
10、个方向的菜单,以确定朝什么方向移动,在选好方向后会出现移动距离的菜单,如1/2米、1米、2米、5米、10米及other,选other后需从键盘输入其它数字,此时按Play就会使场景中对象按指定的方向和距离移动,可以对几个经常使用的方法用上述步骤来了解该方法对应的动作,注意turn与roll的区别,一些运动命令(如move、turn、roll)常以“more.”结束,如果再点击“more.”时会弹出一个菜单,在菜单中会出现与该动作命令相关的三个参数(arguments):duration、style和asSeenBy,以供编程时选择。其中参数duration告诉Alice一个动作在运行时持续的时
11、长(以秒计算,Alice中默认每个动作指令持续的时长是一秒钟)。duration 等于0表示动作会立即完成,duration不能为负值。在上面kangaroo的例子中,我们用duration参数来表示说话的持续时间。参数style用来指定一个动作完成时如何过渡到下一个动作。可选的方式有:gently(逐渐开始并逐渐结束)、abruptly(突然开始和突然结束)、begin gently(逐渐开始突然结束)以及end gently(突然开始逐渐结束)。为了达到最理想的过渡效果,编程时往往会尝试使用不同的过渡方式,这个参数的具体应用将会在以后的实例中看到。参数asSeenBy是动画编程中常用的一个
12、参数,因为Alice中的每个对象都有自己的方位,它的运动是以自身的方位开始而运动的,但有时会要求用另一个对象作为对象运动时的方位参考,而不是按本身的方位来运动,在上面的仙女与金鱼实例中,仙女的绕金鱼一圈的运动是以金鱼作为运动时的方位参考而转一圈。而航天员走向(move to)悍马车是以悍马车作为运动时的方位参考而移动。而参数asSeenBy正是用来表述一个对象用另一个对象作为运动时的方位参考。这里再用一个例子来说明asSeenBy的应用。假设我们在飞行培训中需要一架直升飞机(VehiclesHelicopter)。下面两命令行是想让直升飞机向左翻转一点后再向上升的代码。 运行这个程序,会发现结
13、果和原来想的不一样。当直升飞机向上升时,它是以自身的向上的方向为参考的, 要想实现的其实是飞机相对于地面的向上飞行。要修改这个错误,单击“more.”并选择asSeenBy groud。修改的结果如下所示,这样就得到想要的效果了。 尽管Alice为毎个对象提供了这些原始方法,但毕竟数量有限,因此Alice还为用户提供建立新方法的手段,例如前面实例中要求航天员挥手,就是由用户建立的新方法wave,它实际上就是由5条原始方法(turn backward、roll left、roll right、roll left及turn forward)所组成,此时所新建的方法wave也会出现在航天员detai
14、ls的方法列表中,以便在编程中能调用它。对象的方法又分为场级(world) 方法和类级(class)方法,场级方法是涉及二个以上的方法,而类级方法只涉及一个对象,下面通过具体实例来说明这两种方法。实例10: 袋鼠与乌龟赛跑(1).手动设置虚拟场景:选择草地grass为背景,分别将kangaroo、turtle及road三个对象加入到场景中,并调整它们的位置如下图所示。点击more controll,点击drop a dummy at the camera,并命名为originalPosition,最后按Done(2)建立乌龟行走的新方法:这个新方法是针对对象乌龟所建立的方法,因此属于类级方法。
15、点击对象树上的turtle,再点击create new method,并命名为walk,拖do in order至walk方法编辑区,点击对象树上的turtle左边+号,可看到身体不同部分,拖frontLeftLeg至编辑区,并选择turn、backward、other且打入.1点击在turn命令行最后面的more,选择duration=.25。现在乌龟左腿向后凖备行走,然后乌龟向前移动.3米,同时也要求后右腿turn forward 向前.1,为此先将do together拖入编辑区,在其下拖入乌龟的move forward及其右腿的turn forward,在乌龟向前走后还要顺序执行前左腿
16、turn forward和后右腿 turn backward为了验证turtle行走的正确性,先点击方法编辑区中的world.myfirst method,将turtle方法列表中的walk拖入到编辑区,按Play看turtle的行走。(3)建立Kangaroo的新方法:因为它是针对Kangaroo建立的方法,也就属于类级方法。在对象树上点击kangaroo,再点击create new method并命名hop,先将do together拖至编辑区,再按下图拖入相应的命令行同样为了验证所编程序的正确性,先点击方法编辑区中的world.myfirst method,将kangaroo方法列表中的
17、hop拖入到编辑区,按Play看kangaroo的跳跃动作。(4)建立kangarooo与turtle比赛的新方法:前靣建立的新方法是限于一个指定的对象,这里所建立的新方法是针对虚拟场景的,它涉及到场景的多个对象,因此这种方法属于场级方法。点击对象树中的world,再点击create new method并命名为race。在编辑新方法时,首先安排turtle与kangaroo相互对话,先拖入do in order,再分别拖入turtle与kangaroo 各自两条命令行为了turtle与kangaroo同时移动,要先拖入do together,点击对象树上的turtle,在它的方法列表上将wa
18、lk拖入到race的编辑区类似地点击kangaroo,将方法hop拖入至编辑区,并放在walk命令行之后。为了验证编程的正确性,先点击方法编辑区中的world.myfirst method,删去编辑区内的所有命令行,点击world并拖 race进myFirstMethod编辑,按Play看Kangaroo和turtle是否跳或走一步,为了柤互比赛,需要重覄调用world.race中的walk和hop,为此要使用循环loop控制。(5)循环控制loop:拖loop到do together之上,并选择循环次数例如选4次再把do together(连同walk及hop一起)放在loop命令下方再按P
19、lay,kangaroo将赢得比赛。将此编程存一个名为turtle.a2w文件,以便以后调用。实例11:溜冰表演在实例9中巳设置好溜冰场景,只需从File中打开lake skater就可以了,下面主要是为溜冰表演编辑一些类级(class)方法。除了巳有的四个姿势外,还要将溜冰动作分解成一些基本动作,并为实现这些基本动作去编程一些方法,将这些方法不同的组合就能进行溜冰表演。(1)首先是滑行(skate)动作,它依次由左腿滑行和右腿滑行动作组成,因此要先编左腿滑行和右腿滑行两个方法,再由它们组成skate方法。点击对象树中iceSkater,在方法列表中点击create new method,命名
20、新方法为slideLeftt,此时在方法编辑区上方会出现iceSkater.slideLeft,它表明此方法是类级方法。它要求抬起右腿滑左腿,持续时间1.5秒,因此编程结果如下将事件区的when the world starts do后靣改为world.slidLeft,按Play看她是否抬右腿又收回。类似地可以编写右腿滑行的方法slideRight,其结果和上述编程几乎一样,只是把其中right换成left。再编辑skate方法,当她向前移动2米的同时,先左腿后右腿滑行,其结果如下改事件区中when the world starts do后靣为world.skate,按play看滑行效果。(
21、2)旋转(spin)动作:因为旋转动作只需调用turn方法,向左旋转给定的圈数,但它有旋转前动作和旋转结束动作,为此要先编写相应的二个方法,prepareToSpin、finishSpin,然后由它们组成spin方法。准备旋转prepareToSpin方法要求抬起左腿举起双手,其编程结果为对于旋转结朿finishSpin要求双手放下且左腿也放下,其编程结果为这样spin方法的编程就比较简单,为了便于修改旋转次数,为spin引入了一个新参数,点击create new parameter,命名为howmanySpins,它是一个数字型参数,在编辑区iceskater.spin旁边出现,当拖入tru
22、n时选left后,将它拖入到left后面的数字以代替它。其编程结果是改事件区中when the world starts do后靣为world.spin,此时会要求选择旋转次数,例如选择2,则有howManySpins=2,按play可看旋转效果。(3) 跳(jump):要求向上跳时全身转三圈后落下,其编程结果为(4)滑园(circle):要求沿园周前进滑行(使用asSeenBy)和后退滑行,其编程结果为(5)根据表演要求,将上述一些方法组合在my first method中,例如:按Play就可以看溜冰表演。3具有参数的方法实例12: 袋鼠拜访它的朋友们。这里所说的拜访是指袋鼠到它朋友面前说
23、一句问候的话,然后离开而跳到下一个朋友靣前。(1)选择沙滩作背景,从本地对象库中分别拖入kangaroo、cow、bunny、horse、ladybug、turtle,调整它们的位置如下(2)点击kangaroo,为它建立一个新方法并命名为visit,实现拜访每一个朋友。先假定拜访cow,要求用编程实现kangaroo与cow面对面,且kangaroo移到cow面前为了考察向前移一米是否到了cow的面前,需将事件编辑区中when the world starts do后面的内容改为kangaroo. visit,然后按Play,为了保证kangaroo能仃在cow前2米处,需要调用kangar
24、oo的函数功能,点击kangaroo,再点击functions并从列表中将kangaroo distance to拖入到 1 meter上方原来的move forward命令行改1 meter为kangaroo distance to,因此有按play,kangaroo巳走向cow,剧本要求kangaroo停在cow前面2米远,因此点击最后一个more前的三角形,依序选择math、minus、2,其结果是kangaroo停在cow中心点前面2米远。(3). kangaroo向cow问候,并跳过cow以便拜访其它朋友,因此kangaroo要向上跳1米,再向前跳2米加上cows depth,再跳2
25、米,即距离为4+cows depth而cows depth可从cow的function中获得。改when the world starts do后靣为kangarooVisit,按Play检验程序正确性。(4).上述所编辑的方法是kangaroo拜访cow的编程,为了实现kangaroo拜访其它朋友而又不必为拜访每一个朋友去重覄编程,这里需要引入参数的概念。也就是用参数去代替朋友,这样只须为拜访这个参数编程,当kangaroo拜访某一位朋友时,只须将此参数改名为该朋友名。为此点击create new parameter,在出现的对话框中打入新参数名friendToVisit,并选择Type中的
26、object后点击OK此时新参数friendToVisit出现在方法Kangaroo.visit旁边,现在可以将它拖入到方法中去替代4处出现的cow,这样可得到一个含参数的方法,即Kangaroo拜访某一参数朋友,若将参数设定为cow,就是前面编程的结果,拜访不同的朋友都是用同一个方法,只不过需将参数设定为要访问的朋友。(5)将”when the first world starts”改回为myFirstMethod,在Kangaroos details中点击methods,将带参数的方法Kangaroo.visit拖至myFirstMethod方法编辑区内,同时将参数分别设为bunny、co
27、w、horse、turtle、ladybug(6)为了使Kangaroo对不同朋友用不同的问候语,还需引入另一个新参数,首先要回到Kangaroo.visit方法编辑区,再点击create new parameters,在对话框中打入新参数名greeting,选择Type为other,打入string,最后点击OK此时Kangaroo.visit方法后面跟有二个参数将第二个参数greeting拖至Kangaroo say后面,以代替How are you doing?再回到myFirstMethod方法编辑区,将对每一位朋友的greeting设为不同的问候语(7)由于拜访的朋友高度不一样,而K
28、angaroo只能跳1米高,如果朋友高度是小于1米就跳过去,如果是大于或等于1米,就改为绕朋友一圈。回到Kangaroo.visit方法编辑区,将If/Else拖至Kangaroo move up 命令行前,点击world,在其function列表中将ab拖入到If后靣,将a和b暂设定为1,将cow的函数cows height代替前一个1,再将参数friendToVisit height代替cows height,这样当friendToVisit height1时跳过它, 而在Else条件下再编辑绕朋友一圈的两条命令(8)为了用鼠标来操纵Kangaroo去拜访指定的朋友,因此要建立一个新事件,
29、首先要求事件when the world starts do disable,即Play时什么也不做。点击建立新事件create new event此时在事件编辑区出现when the mouse is clicked anything do nothing命令行,从Kangaroo的方法列表中将方法visit拖至到nothing,并选择expressions,object under mouse cursor,然后再选greeting因此新事件为这样,当鼠标点击那个动物,Kangaroo就拜访那个动物,从而实现了用鼠标来操纵Kangaroo去拜访指定的朋友。实例13: 公主与龙(Prince
30、ss&Dragon)故事情节是公主被困在塔顶上并呼救,龙向上飞绕塔二圈并抓走公主,在后靣的实例中勇士救下了公主。(1)选择grass作为背景,同时以pricessDragon作为文件名存为.a2w文件,从本地库中选择tower、dragon以及公主cinderella到场景中。利用定位工具将这三个对象在场景的位置调整成如下图所示(2)设定相机初始位置。点击more controls,在定位工具栏下选择drop dummy at camera,在对象树中出现Dummy Object,右击后rename它为cameraViews,点击其前面的+号,将其dummy 再rename它为original
31、View,这样就设定了相机的初始位置。利用兰色箭头移动相机,使塔在屏幕中心并移动相机直到能看清公主为了保存相机这一位置,点击drop dummy at camera,在对象树上出现dummy,将这相机的新位置命名为towerView按Done,回到主屏幕。(3)剧情要求公主,举起双手,向上跳并喊叫,因此要调用内建公主的一些方法,先编程喊叫,拖cinderella say至方法编辑区,在选择项中选择other,并在对话框中打入oh no, Im trapped!,再按OK就有再点击该命令行的more,选择duration及2seconds,命令行攺为然后实现跳上落下的动作,拖cinderella
32、 move至say命令行上靣,选择up及1/2meters右击move up命令行并选择make copy,则出现二个move up命令行点击第二命令行中的up,选择down就有然后再要求喊叫与跳同时进行,这就需要将Do together拖到三命令行的前面,但这样会导致跳的动作不进行,为此要在move 两命令前再拖入Do in order最后来实现公主的手臂动作,要求左右上臂挥动,并安排在跳动之前。因此要拖入Do in order并放在Do together之后点击对象树上cinderealla前靣的+号,并依次点击hip,torso,upperBody,最后选择leftUpperArm从它的
33、方法列表中拖入roll命令至编辑区,选择right和other,打入.2按Okay再次从方法列表中拖入roll命令至编辑区,选择left和other,打入.4按Okay至此完成左上臂挥手动作,要完成右上臂挥手动作,只须将包含两行roll命令的Do in order拷贝到其下方再将新copy的两行命令改成rightUpperArm,并将left改成right,而right攺成left最终公主呼救的编程代码是按Play后有下述画靣:(4) 改变相机视角:点击对象树上camera,将其方法列表中set point of view to拖至Do together的上靣,选择CameraViews, t
34、owerView然后在程序的最后一行拖入改变相机视角为originalView的命令,其编码结果是按Play后执行第一条命令出现的画靣是而执行第二条命令后相机回到初始的视角。(5)编写Dragon fly的新方法:点击对象树上dragon,并在方法列表中点击create new method,命名方法为fly,显然它是属于类级方法。在dragon.fly方法编辑区内分别拖入Do together、Do in order、Do together,其位置排列如下点击对象树上dragon左边的+号,找到rightWingClose后将其方法列表中的roll拖至Do together之下,选择righ
35、t及other再打入0.15点击对象树上rightWingFar,将其方法列表中的roll拖至方法编辑区,选择left,及other再打入0.1,将其方法列表中的turn拖至其后,选择right和1/4 revolution。再将包含三条命令的Do together拷贝其后,分别将命令行中的right、left、right改为left、right、left。将事件区中When the world starts ,do后靣改为dragon.fly,按Play后右翅煽动一次为了实观左翅煽动一次的编码,将整个Do in order 拷贝其后,将六条命令中的rightWing改为leftWing,再将
36、后一个Do together及其三条命令调到前一个Do together之前,这样dragon.fly的编码结果如下按Play可看到dragon两个翅膀煽动一次。(6)编写capturePrincess新方法。这是一个场景级的方法,因为它涉及多个对象。点击world,create new method,命名新方法为capturePrincess,在其编辑区内拖入loop并选择2 times,拖入Do together,在其下拖入dragon 的 turn命令,并选择right,1 revolution,设durationn为2 seconds,最后拖入dragon.fly将事件区中When t
37、he world starts ,do后靣改为world.capturePrincess,按Play后dragon只是原地转二次,为了使它围绕tower转二次,点击命令行中的more,选择asSeenBy及tower,按Play后dragon 围绕tower转二次。下靣要求dragon移向Cinderella,先拖入Do together,在其后分别拖入 move up 6 meters 及move right 12 meters,再拖入 move toward,选择2 meters, Cinderella, the entire Cinderella,点击命令行中amount,选择other
38、并打入2下一步编写Cinderella被dragon抓住。拖入Do together,点击对象树上Cinderella,先拖入move并选择forward,1 meter,拖入move to并选择dragons frontRightLeg, lowerLeg, foot, the entire foot,再拖入move并选择down,1 meter。为了保证Cinderella和dragon一起移动,将Cinderella的属性vehicle拖至move down命令行之后,并选择dragon。再拖入Do together,在其后拖入并选择dragon move up 1 meters和 dr
39、agon move left 10 meters,拖入dragon move并选择down,5 meters,为了显示被抓公主,还要设cinderella的vehicle为world,并拖入cinderella的move并选择down及0.5meter。最后一行拖入并选择 dragon move, down, 5 meters。至此,按Play来检查dragon抓走公主的动画效果。(7)完善主程序。点击world. my first method,进入主程序编辑区。点击对象树上world,将其方法列表中的capture Princess拖入到主程序最后一行。将事件区中When the worl
40、d starts ,do后靣改回为world. my first method,按Play可看动画结果。公主获救的情节编程在后靣的实例中。实例14:Skaterboard World故事情节是女孩到滑板上并跳跃,然后绕一个园锥路标滑一圈。(1)选择dirt为背景,点击File及 Save World As,打入文件名skaterworld,这样它就以skaterworld.a2w文件名保存。点击ADD OBJECT,more control及drop a dummy at the camera此时对象树上会出现Dummy Object,点击其左边的+号,会出现Dummy,右击它并选择renam
41、e,打入OriginalPosition。上述设置相机初始位置的过程也可以这样实现:右击对象树上的camera,选择method,set point of view to,Dummy Objects,OriginalPosition。(2)加入对象。在本地库中找到skate Park文件夹,点击skaterGirl并将它拖入场景中,在黄色框架定位前不要释放mouse类似地将SkaterGuy,Skateboard和jump拖到场景中再在本地库中找到Shapes文件夹,拖三个cones到场景中并放在人的右边再在本地库中找到Buildings文件夹,将airport拖到场景中利用对象操作按钮调整场
42、景中对象的位置与大小,按DONE。(3)编辑skaterGirl跳的方法。点击对象树上world,在其方法列表上点击create new method,命名makeJump后按OK 在事件编辑区中点击world.my first method后面的三角形,从弹出的菜单中选择makeJump在makeJump方法编辑区内拖入skaterGirl move to,选择skateboard及the entire skateboard,当按Play会出现这是因为move to命令是依据两者的中心点来计算的,为了实现skaterGirl能真实地站在skateboard上又避免这种情况,需要从Shapes
43、文件夹中再拖一个box到场景中为了使box在skateboard上,点击对象树上skateboard,选择methods,turn to face,Jump,再点击对象树上box,选择methods,orient to,skateboard,the entire skateboard利用四视图及对象操作按钮将box置于skateboard之上现在要将box与skateboard附着在一起,使box能和skateboard一起移动,在box的属性表中点击属性vehicle=world后面的三角形,选择skateboard,the entire skateboard,属性vehicle总是将一对象
44、附着在另一对象上。回到makeJump方法编辑区,点击move to后靣的三角形,选择box后skateboard将改为box,因此skaterGirl将移到box上。按DONE退出本地库。现在要求box在场景中不出现,好象skaterGirl站在skateboard上,并随skateboard移动而移动。点击对象树上box,在属性列表中找到isShowing,并设置它为false,这样box就不出现在场景中。现在要求cone变桔黄色。点击对象树上cone,在其属性列表中找到color,然后将它设置为orange,同样对cone1及cone2进行类似操作,将它们都改变为桔黄色。 当skater
45、Girl在skateboard时,同样要求这两个对象要一起移动,点击对象树上skaterGirl,在其属性表中找到vehicle,并将它拖到makeJump的方法编辑区内,设置它为skateboard,the entire skateboard当skateboard面向对象Jump时,skaterGirl的头转向右边。因为要同时执行这两个动作,拖入Do togather,再拖入skateboard turn to face,并选择Jump点击对象树上skaterGirl左边+号,扩展skaterGirl,upperBody,neck,拖head至编辑区,选择turnn,right,1/4 re
46、volution,设置duration为0.5 seconds 其结果是再拖Do togather入内,拖对象树上skateboard在其下方,并选择move toward,1 meter,jump,将1 meter改为7 meter,可使女孩靠近滑板。再点击命令行中的more,设置duration为1 second且style为abruptly,最后拖skaterGuy的turn to face至最后一行,选择jump并设置duration为1 second再对skateboard完成下述命令行的编写至此makejump新方法编写完成。为了调用该新方法,点击world.myfirst met
47、hod,在该方法编辑区内编辑skaterGirl与skaterGuy的动作与对话,首先是skaterGirl的两条命令然后是skaterGuy的两条命令再后是他们的对话最后将makejump拖至最后一行将事件编辑区中When the world starts do后面的改为my first method,按Play,可检查设计结果。(5)编写绕cone转一圈的新方法SkateCircle。点击对象树world,点击create new method,命名它为SkateCircle。为skateboard编写下述命令行为了使skateboard绕cone转,对最后一行命令点击more,选择asSeenBy,cone,同时设duration为4 seconds将新编写的skateCircle拖入到world.my first method编辑区的最后一行(6)编写skateGuy庆贺的新方法skateGuy.celebrate。点击对象树上skateGuy,点击方法列表中create new method,命名它为celebrate,先拖Do togather至编辑区,再拖skateGuy至其下面,选择 say,oth
链接地址:https://www.31doc.com/p-2742611.html