三对象的属性与方法10页word.docx
《三对象的属性与方法10页word.docx》由会员分享,可在线阅读,更多相关《三对象的属性与方法10页word.docx(14页珍藏版)》请在冰豆网上搜索。
![三对象的属性与方法10页word.docx](https://file1.bdocx.com/fileroot1/2023-1/5/bd13c015-ed5d-4430-8bca-fc9d2c72b8a9/bd13c015-ed5d-4430-8bca-fc9d2c72b8a91.gif)
三对象的属性与方法10页word
三、对象的属性与方法
“师”之概念,大体是从先秦时期的“师长、师傅、先生”而来。
其中“师傅”更早则意指春秋时国君的老师。
《说文解字》中有注曰:
“师教人以道者之称也”。
“师”之含义,现在泛指从事教育工作或是传授知识技术也或是某方面有特长值得学习者。
“老师”的原意并非由“老”而形容“师”。
“老”在旧语义中也是一种尊称,隐喻年长且学识渊博者。
“老”“师”连用最初见于《史记》,有“荀卿最为老师”之说法。
慢慢“老师”之说也不再有年龄的限制,老少皆可适用。
只是司马迁笔下的“老师”当然不是今日意义上的“教师”,其只是“老”和“师”的复合构词,所表达的含义多指对知识渊博者的一种尊称,虽能从其身上学以“道”,但其不一定是知识的传播者。
今天看来,“教师”的必要条件不光是拥有知识,更重于传播知识。
观察内容的选择,我本着先静后动,由近及远的原则,有目的、有计划的先安排与幼儿生活接近的,能理解的观察内容。
随机观察也是不可少的,是相当有趣的,如蜻蜓、蚯蚓、毛毛虫等,孩子一边观察,一边提问,兴趣很浓。
我提供的观察对象,注意形象逼真,色彩鲜明,大小适中,引导幼儿多角度多层面地进行观察,保证每个幼儿看得到,看得清。
看得清才能说得正确。
在观察过程中指导。
我注意帮助幼儿学习正确的观察方法,即按顺序观察和抓住事物的不同特征重点观察,观察与说话相结合,在观察中积累词汇,理解词汇,如一次我抓住时机,引导幼儿观察雷雨,雷雨前天空急剧变化,乌云密布,我问幼儿乌云是什么样子的,有的孩子说:
乌云像大海的波浪。
有的孩子说“乌云跑得飞快。
”我加以肯定说“这是乌云滚滚。
”当幼儿看到闪电时,我告诉他“这叫电光闪闪。
”接着幼儿听到雷声惊叫起来,我抓住时机说:
“这就是雷声隆隆。
”一会儿下起了大雨,我问:
“雨下得怎样?
”幼儿说大极了,我就舀一盆水往下一倒,作比较观察,让幼儿掌握“倾盆大雨”这个词。
雨后,我又带幼儿观察晴朗的天空,朗诵自编的一首儿歌:
“蓝天高,白云飘,鸟儿飞,树儿摇,太阳公公咪咪笑。
”这样抓住特征见景生情,幼儿不仅印象深刻,对雷雨前后气象变化的词语学得快,记得牢,而且会应用。
我还在观察的基础上,引导幼儿联想,让他们与以往学的词语、生活经验联系起来,在发展想象力中发展语言。
如啄木鸟的嘴是长长的,尖尖的,硬硬的,像医生用的手术刀―样,给大树开刀治病。
通过联想,幼儿能够生动形象地描述观察对象。
在Alice中每一对象都有它的properties、methods、functions,前面的一些实例已经涉及到一个对象的方法与属性,这里再通过实例来进一步说明对象属性、方法的含义及使用方法,而函数的功能及使用方法后面另作介绍。
语文课本中的文章都是精选的比较优秀的文章,还有不少名家名篇。
如果有选择循序渐进地让学生背诵一些优秀篇目、精彩段落,对提高学生的水平会大有裨益。
现在,不少语文教师在分析课文时,把文章解体的支离破碎,总在文章的技巧方面下功夫。
结果教师费劲,学生头疼。
分析完之后,学生收效甚微,没过几天便忘的一干二净。
造成这种事倍功半的尴尬局面的关键就是对文章读的不熟。
常言道“书读百遍,其义自见”,如果有目的、有计划地引导学生反复阅读课文,或细读、默读、跳读,或听读、范读、轮读、分角色朗读,学生便可以在读中自然领悟文章的思想内容和写作技巧,可以在读中自然加强语感,增强语言的感受力。
久而久之,这种思想内容、写作技巧和语感就会自然渗透到学生的语言意识之中,就会在写作中自觉不自觉地加以运用、创造和发展。
“教书先生”恐怕是市井百姓最为熟悉的一种称呼,从最初的门馆、私塾到晚清的学堂,“教书先生”那一行当怎么说也算是让国人景仰甚或敬畏的一种社会职业。
只是更早的“先生”概念并非源于教书,最初出现的“先生”一词也并非有传授知识那般的含义。
《孟子》中的“先生何为出此言也?
”;《论语》中的“有酒食,先生馔”;《国策》中的“先生坐,何至于此?
”等等,均指“先生”为父兄或有学问、有德行的长辈。
其实《国策》中本身就有“先生长者,有德之称”的说法。
可见“先生”之原意非真正的“教师”之意,倒是与当今“先生”的称呼更接近。
看来,“先生”之本源含义在于礼貌和尊称,并非具学问者的专称。
称“老师”为“先生”的记载,首见于《礼记?
曲礼》,有“从于先生,不越礼而与人言”,其中之“先生”意为“年长、资深之传授知识者”,与教师、老师之意基本一致。
1..对象的属性(properties)
宋以后,京师所设小学馆和武学堂中的教师称谓皆称之为“教谕”。
至元明清之县学一律循之不变。
明朝入选翰林院的进士之师称“教习”。
到清末,学堂兴起,各科教师仍沿用“教习”一称。
其实“教谕”在明清时还有学官一意,即主管县一级的教育生员。
而相应府和州掌管教育生员者则谓“教授”和“学正”。
“教授”“学正”和“教谕”的副手一律称“训导”。
于民间,特别是汉代以后,对于在“校”或“学”中传授经学者也称为“经师”。
在一些特定的讲学场合,比如书院、皇室,也称教师为“院长、西席、讲席”等。
我国古代的读书人,从上学之日起,就日诵不辍,一般在几年内就能识记几千个汉字,熟记几百篇文章,写出的诗文也是字斟句酌,琅琅上口,成为满腹经纶的文人。
为什么在现代化教学的今天,我们念了十几年书的高中毕业生甚至大学生,竟提起作文就头疼,写不出像样的文章呢?
吕叔湘先生早在1978年就尖锐地提出:
“中小学语文教学效果差,中学语文毕业生语文水平低,……十几年上课总时数是9160课时,语文是2749课时,恰好是30%,十年的时间,二千七百多课时,用来学本国语文,却是大多数不过关,岂非咄咄怪事!
”寻根究底,其主要原因就是腹中无物。
特别是写议论文,初中水平以上的学生都知道议论文的“三要素”是论点、论据、论证,也通晓议论文的基本结构:
提出问题――分析问题――解决问题,但真正动起笔来就犯难了。
知道“是这样”,就是讲不出“为什么”。
根本原因还是无“米”下“锅”。
于是便翻开作文集锦之类的书大段抄起来,抄人家的名言警句,抄人家的事例,不参考作文书就很难写出像样的文章。
所以,词汇贫乏、内容空洞、千篇一律便成了中学生作文的通病。
要解决这个问题,不能单在布局谋篇等写作技方面下功夫,必须认识到“死记硬背”的重要性,让学生积累足够的“米”。
对象的属性会在对象details板中的properties列表中列出,多数对象具有下述属性:
Color:
对象的基本颜色。
Opacity:
对象的可见度,0%表示完全透明,对象不可见,100%表示不透明,对象可见。
Vehicle:
它使一个对象跟随另一对象一起运动。
Skintexture:
贴在对象上的图像。
fillingStyle:
对象是以实体模型或是线框模型表示。
pointOfView:
指出对象的位置和方位。
isShowing:
决定对象在场景中是出现或是消失。
Sound:
对象能产生的声音。
当拖某个属性至编辑区时,利用出现的菜单设定相应的属性值,或者直接点击该属性,在出现的菜单上设定其属性值,在前面的二个实例中,巳使用过对象的属性,如仙女和航天员的属性vehicle的应用。
下面再用一个实例来说明对象属性的使用。
实例8:
Texturemap(纹理面图)
如何用在一个形体上复盖一张纹理面图,从而形成Alice中一个新的对象,如建造一个地球对象,国旗对象以及建筑物对象等。
(1)选择沙地为背景,在本地库的Shapes文件夹中选择sphereHighPoly加入到场景中,再利用对象操作按钮将它移至屏幕中央。
Texture实际上就是一张图,Alice接受大多数的图像格式,如Jpegs,png和Bitmap。
利用绘图软件将一张地球表面的图进行处理,使它无任何边框,以Alice接受的图像格式存于文件系统中,以便在Alice需要import时能找到它。
点击File并选择import,在对话框中打入刚存入图形的文件名Earth.jpeg,点击import,尽管在主窗口上没有出现地球表面的图像,但它会在world属性列表的skintexture中出现。
右击对象树上的sphereHighPoly,选择rename,重新命名为PlanetEarth。
再点击属性列表中的skintexture属性,选择world.Earth。
此时在主窗口中看到了地球。
为了加入新的对象,将地球向后移开,再次从Shapes文件夹中选择Box对象,并将它加入到场景中,利用对象操作按钮将它放大成如下图形
同样利用绘图软件剪切出一张建筑表面图,并以buildingcover文件名存入。
类似地点击File并选择import,在对话框中打入刚存入图形的文件名buildingcover.jpeg,点击import。
点击File并选择import,在对话框中打入刚存入图形的文件名buildingcover.jpeg,点击import,它同样会在world属性列表的skintexture中出现。
右击对象树上的Box,选择rename,重新命名为SkyScraper。
再点击属性列表中的skintexture属性,选择world.buildingcover。
对出现在主窗口的建筑物利用相机控制按钮调整它象一座空中摩天楼(skyscraper)。
实例9:
溜冰女孩的场景设置
(1)点击File及Newworld,出现welcometoAlice!
窗口,从中选择snow作为背景,现在要改变天空的色颜,让它稍为暗一点,在world的属性列表中找到atmosphereColor(天空的色颜),点击其后面的彩色盒并选择other,在彩色盘上将游标指向一暗兰色的方格,该方格位于从底部算起的第三行从左边算起的第七列的位置,此时屏幕上会显示该位置为”0,0,153”,然后点击ok,这样天空颜色改变为暗兰色。
(2)现在要加入有小木屋和树的冰湖及溜冰的小女孩,点击Addobject,在出现的本地库的右上角点击searchGallery,打入lake再点击search,在出现的对象中点击classlake,主窗口就会出现有小木屋和树的冰湖的场景,同样再点击searchGallery,打入iceskater后再点击search,从所列出的对象中选择ClassiceSkater加入到场景中。
同时利用对象定位按钮将她定位面向相机。
按Done转到编程界面,点击File将此初始场景以lakeskater文件名存入,以便以后编程时调出。
(3)点击对象树中的iceSkater,再点击Details板上的属性列表,其中有pose、pose2、pose3及pose4四个属性,分别将它们拖入worldmyfirstmethod的编辑区,按Play后看lakeskater摆的什么姿势,以便在编程中调用它。
2.对象的方法
什么是对象的方法,方法是用来定义对象的行为,它是由一系列命令所组成,指示对象去完成指定的动作。
在Alice中每一个对象都有一组内建的方法,或叫原始的方法,如move、turn、roll、say等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)
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拖入方法编辑区时,将会出现移动方向上、下、左、右、前、后六个方向的菜单,以确定朝什么方向移动,在选好方向后会出现移动距离的菜单,如1/2米、1米、2米、5米、10米及other,选other后需从键盘输入其它数字,此时按Play就会使场景中对象按指定的方向和距离移动,可以对几个经常使用的方法用上述步骤来了解该方法对应的动作,注意turn与roll的区别,
一些运动命令(如move、turn、roll)常以“more...”结束,如果再点击“more...”时会弹出一个菜单,在菜单中会出现与该动作命令相关的三个参数(arguments):
duration、style和asSeenBy,以供编程时选择。
其中参数duration告诉Alice一个动作在运行时持续的时长(以秒计算,Alice中默认每个动作指令持续的时长是一秒钟)。
duration等于0表示动作会立即完成,duration不能为负值。
在上面kangaroo的例子中,我们用duration参数来表示说话的持续时间。
参数style用来指定一个动作完成时如何过渡到下一个动作。
可选的方式有:
gently(逐渐开始并逐渐结束)、abruptly(突然开始和突然结束)、begingently(逐渐开始突然结束)以及endgently(突然开始逐渐结束)。
为了达到最理想的过渡效果,编程时往往会尝试使用不同的过渡方式,这个参数的具体应用将会在以后的实例中看到。
参数asSeenBy是动画编程中常用的一个参数,因为Alice中的每个对象都有自己的方位,它的运动是以自身的方位开始而运动的,但有时会要求用另一个对象作为对象运动时的方位参考,而不是按本身的方位来运动,在上面的仙女与金鱼实例中,仙女的绕金鱼一圈的运动是以金鱼作为运动时的方位参考而转一圈。
而航天员走向(moveto)悍马车是以悍马车作为运动时的方位参考而移动。
而参数asSeenBy正是用来表述一个对象用另一个对象作为运动时的方位参考。
这里再用一个例子来说明asSeenBy的应用。
假设我们在飞行培训中需要一架直升飞机(Vehicles\Helicopter)。
下面两命令行是想让直升飞机向左翻转一点后再向上升的代码。
运行这个程序,会发现结果和原来想的不一样。
当直升飞机向上升时,它是以自身的向上的方向为参考的,
要想实现的其实是飞机相对于地面的向上飞行。
要修改这个错误,单击“more...”并选择asSeenBy→groud。
修改的结果如下所示,这样就得到想要的效果了。
尽管Alice为毎个对象提供了这些原始方法,但毕竟数量有限,因此Alice还为用户提供建立新方法的手段,例如前面实例中要求航天员挥手,就是由用户建立的新方法wave,它实际上就是由5条原始方法(turnbackward、rollleft、rollright、rollleft及turnforward)所组成,此时所新建的方法wave也会出现在航天员details的方法列表中,以便在编程中能调用它。
对象的方法又分为场级(world)方法和类级(class)方法,场级方法是涉及二个以上的方法,而类级方法只涉及一个对象,下面通过具体实例来说明这两种方法。
实例10:
袋鼠与乌龟赛跑
(1).手动设置虚拟场景:
选择草地grass为背景,分别将kangaroo、turtle及road三个对象加入到场景中,并调整它们的位置如下图所示。
点击morecontroll,点击dropadummyatthecamera,并命名为originalPosition,最后按Done
(2)建立乌龟行走的新方法:
这个新方法是针对对象乌龟所建立的方法,因此属于类级方法。
点击对象树上的turtle,再点击createnewmethod,并命名为walk,拖doinorder至walk方法编辑区,点击对象树上的turtle左边+号,可看到身体不同部分,拖frontLeftLeg至编辑区,并选择turn、backward、other且打入.1
点击在turn命令行最后面的more,选择duration=.25。
现在乌龟左腿向后凖备行走,然后乌龟向前移动.3米,同时也要求后右腿turnforward向前.1,为此先将dotogether拖入编辑区,在其下拖入乌龟的moveforward及其右腿的turnforward,在乌龟向前走后还要顺序执行前左腿turnforward和后右腿turnbackward
为了验证turtle行走的正确性,先点击方法编辑区中的world.myfirstmethod,将turtle方法列表中的walk拖入到编辑区,按Play看turtle的行走。
(3)建立Kangaroo的新方法:
因为它是针对Kangaroo建立的方法,也就属于类级方法。
在对象树上点击kangaroo,再点击createnewmethod并命名hop,先将dotogether拖至编辑区,再按下图拖入相应的命令行
同样为了验证所编程序的正确性,先点击方法编辑区中的world.myfirstmethod,将kangaroo方法列表中的hop拖入到编辑区,按Play看kangaroo的跳跃动作。
(4)建立kangarooo与turtle比赛的新方法:
前靣建立的新方法是限于一个指定的对象,这里所建立的新方法是针对虚拟场景的,它涉及到场景的多个对象,因此这种方法属于场级方法。
点击对象树中的world,再点击createnewmethod并命名为race。
在编辑新方法时,首先安排turtle与kangaroo相互对话,先拖入doinorder,再分别拖入turtle与kangaroo各自两条命令行
为了turtle与kangaroo同时移动,要先拖入dotogether,点击对象树上的turtle,在它的方法列表上将walk拖入到race的编辑区
类似地点击kangaroo,将方法hop拖入至编辑区,并放在walk命令行之后。
为了验证编程的正确性,先点击方法编辑区中的world.myfirstmethod,删去编辑区内的所有命令行,点击world并拖race进myFirstMethod编辑,按Play看Kangaroo和turtle是否跳或走一步,为了柤互比赛,需要重覄调用world.race中的walk和hop,为此要使用循环loop控制。
(5)循环控制loop:
拖loop到dotogether之上,并选择循环次数例如选4次
再把dotogether(连同walk及hop一起)放在loop命令下方
再按Play,kangaroo将赢得比赛。
将此编程存一个名为turtle.a2w文件,以便以后调用。
实例11:
溜冰表演
在实例9中巳设置好溜冰场景,只需从File中打开lakeskater就可以了,下面主要是为溜冰表演编辑一些类级(class)方法。
除了巳有的四个姿势外,还要将溜冰动作分解成一些基本动作,并为实现这些基本动作去编程一些方法,将这些方法不同的组合就能进行溜冰表演。
(1)首先是滑行(skate)动作,它依次由左腿滑行和右腿滑行动作组成,因此要先编左腿滑行和右腿滑行两个方法,再由它们组成skate方法。
点击对象树中iceSkater,在方法列表中点击createnewmethod,命名新方法为slideLeftt,此时在方法编辑区上方会出现iceSkater.slideLeft,它表明此方法是类级方法。
它要求抬起右腿滑左腿,持续时间1.5秒,因此编程结果如下
将事件区的whentheworldstartsdo后靣改为world.slidLeft,按Play看她是否抬右腿又收回。
类似地可以编写右腿滑行的方法slideRight,其结果和上述编程几乎一样,只是把其中right换成left。
再编辑skate方法,当她向前移动2米的同时,先左腿后右腿滑行,其结果如下
改事件区中whentheworldstartsdo后靣为world.skate,按play看滑行效果。
(2)旋转(spin)动作:
因为旋转动作只需调用turn方法,向左旋转给定的圈数,但它有旋转前动作和旋转结束动作,为此要先编写相应的二个方法,prepareToSpin、finishSpin,然后由它们组成spin方法。
准备旋转prepareToSpin方法要求抬起左腿举起双手,其编程结果为
对于旋转结朿finishSpin要求双手放下且左腿也放下,其编程结果为
这样spin方法的编程就比较简单,为了便于修改旋转次数,为spin引入了一个新参数,点击createnewparameter,命名为howmanySpins,它是一个数字型参数,在编辑区iceskater.spin旁边出现,当拖入trun时选left后,将它拖入到left后面的数字以代替它。
其编程结果是
改事件区中whentheworldstartsdo后靣为world.spin,此时会要求选择旋转次数,例如选择2,则有howManySpins=2,按play可看旋转效果。
(3)跳(jump):
要求向上跳时全身转三圈后落下,其编程结果为
(4)滑园(circle):
要求沿园周前进滑行(使用asSeenBy)和后退滑行,其编程结果为
(5))根据表演要求,将上述一些方法组合在myfirstmethod中,例如:
按Play就可以看溜冰表演。
3.具有参数的方法
实例12:
袋鼠拜访它的朋友们。
这里所说的拜访是指袋鼠到它朋友面前说一句问候的话,然后离开而跳到下一个朋友靣前。
(1)选择沙滩作背景,从本地对象库中分别拖入kangaroo、cow、bunny、horse、ladybug、turtle,调整它们的位置如下
(2)点击kangaroo,为它建立一个新方法并命名为visit,实现拜访每一个朋友。
先假定拜访cow,要求用编程实现kangaroo与cow面对面,且kangaroo移到cow面前
为了考察向前移一米是否到了cow的面前,需将事件编辑区中whentheworldstartsdo后面的内容改为kangaroo.visit,然后按Play,为了保证kangaroo能仃在cow前2米处,需要调用kangaroo的函数功能,点击kangaroo,再点击functions并从列表中将kangaroodistanceto拖入到1meter上方
原来的moveforward命令行改1meter为kangaroodistanceto,因此有
按play,kangaroo巳走向cow,剧本要求kangaroo停在cow前面2米远,因此点击最后一个more前的三角形,
依序选择math、minus、2,
其结果是kangaroo停在cow中心点前面2米远。
(3).kangaroo向cow问候,并跳过cow以便拜访其它朋友,因此kangaroo要向上跳1米,再向前跳2米加上cow’sdepth,再跳2米,即距离为4+cow’sdepth而cow’sdepth可从cow的function中获得。
改whentheworldstartsdo后靣为kangarooVisit,按Play检验程序正确性。
(4).上述所编辑的方法是kangaroo拜访cow的编程,为了实现kangaro