2.Alice编程地操作界面与场景设置操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.Alice编程的操作界面与场景设置操作
在上面已简单提到Alice的操作界面,为了方便以后编程,下面再对操作界面作进一步介绍。
Alice的主屏幕分成下面几个部分:最顶一行是菜单,下靣一行是Toolbar,左上角是Object tree,左右下角是Details pane,右上角是Events Editor,右下方是Methods Editor,中间是World Preview。
1)操作界靣
用Alice编程时,需要完成二个步骤,一个是手动设置场景,包括选择背景,设定动画中的各个对象,调整它们的初始位置及大小,另一个是具体编程,根据剧情,为每个对象设计好动作,并在编辑区内实现。
操作界靣就是为完成这些任务而设计的。
(1)最上一行是菜单:File、Edit、Tool及Help,使用它们和使用windows中的菜单一样。
每当建立一个新场景时,最好在选完背景后就把这个初始场景存起来,因为在编程过程中系统会不时地询问是否要存文件,以避免停电或系统出故障而丢失已编好的程序,此时只要点击yes即可。
点击File后会弹出一个菜单。
点击New world,在save world的对话框中打入文件名,再按save即可,系统会以该文件名加以扩展名.a2w保存在系统中,若要指定路径则点击Save World as。
如果是要调用已有的文件则点击open world,并出现另一个Open world窗口。
在Open world的窗口中会列出巳存文件名,选择要打开的文件并点击Open world,该文件就会出现在操作界面上,对它可以play,也可以在此基础上继续编程,完善程序功能。
(2)第二行有三个按钮:Play、Undo、Redo,还有一个垃圾桶(trash can)和剪贴板(clip board)。
Play是用来执行已编好的程序,在编程序的过程中经常会使用它,通过弹出的画面来检查某一小段程序的正确性,避免程序太长带来程序查错的困难。
在程序编写过程中如果要删去刚写的命令行,则点击Undo按钮,该命令行就会在编辑区内消失,而要恢复原删去的命令行,就可点击Redo,它能恢复Undo所删去的结果。
在编辑区内,可以丢弃任何不需要的命令行,只要将此命令行拖至垃圾桶,当垃圾桶及命令行框变绿时,释放鼠标按钮即完成删去该命令行。
剪贴板的功能是用于拷贝,它将方法编辑区中若干命令行拖入到剪贴板,然后可将它拷贝至另一方法的编辑区中。
在选择好场景的背景后,通过按Add object按钮进入手动设置场景,其操作界靣如下图所示。
(3)对象树位于屏幕左上方,其中world、camera、light及ground是每一个场景都必须有的对象,在手动建立虚拟场景时,每加入一个对象到场景中,在对象树上就会出现表示此对象相应的项,当需要对此对象编程时,需要先点击对象树上的该对象,才能进行下一步操作。
对象树中有些对象可以由多个部分组成,每个部分又看成是一个子对象,可以通过点击该对象左边的+号将这些子对象在对象树上显示出来。
例如点击iceskater左边的+号,对象树就会出现组成iceskater的四个部分。
再点击leftLeg左边的+号,会出现lowerLeg,继续点击lowerLeg左边的+号,会出现foot。
因此可以对这些子对象编写完成某一动作的程序。
(4)在对象树的正下方是对象的细节(details),它提供所选对象的三种类型的一些细节信息,即properties(属性)、methods(方法)和function(函数)。
点击其中任何一项都会将该项所有的信息列举出来,在编程时可拖它到编程区,实现对象动作的编程。
(5)local gallery(本地库)位于屏幕的最下方,每个图像是一个文件夹,代表一类对象,如动物类animals,点击它将打开25个不同的动物对象,而且都是三维对象的图像(模型)。
点击所选对象,在弹出的图像框中点击Add instance to world按钮,将对象加到场景中去,也可以直接将此对象拖到虚拟场景中去,让场景中加入了该对象。
本地库包括七百多个可用的三维对象,还可从Alice官方网站中网上模型库(Web Gallery)下载新的三维对象模型,不少Alice开发者也提供了大量的三维对象模型。
(6)在屏幕的中上方是虚拟场景,手动选择的背景以及陆续加入的对象组成虚拟场景,虚拟场景中有些对象只作背景用,如树、房子、有星星的天空等,而有些对象是在动画中担任角色,要通过编程对它赋以各种动作。
(7)在虚拟场景下方是三组兰色箭头,是用来控制照相机的位置及方位。
关于对虚拟场景使用相机的问题,将在相机控制部分再作解释。
(8)在屏幕的右上角有七个按钮,它们是对象的操作按钮,对虚拟场景的对象点击后,就可以通过点击这些操作按钮对所选对象进行放大、缩小,向左右上下移动或旋转等操作,以完成虚拟场景的手动设置。
(9) 在编程界面的最下一行是Alicee编程时用到的结构控制,包括有:
用于顺序控制:Do together(多个命令同时执行)及Do in order(多个命令依次执行)。
用于选择控制:If/Else(当满足某条件就执行命令1否则执行命令2)
用于循环控制:loop(按给定的循环次数循环) 及while(满足某条件就循环执行)
用于数组的顺序控制:forAllTogather及forAllInOrder
Wait(等待)、print(打印)及//(程序注解)
九个部分的分区,其大小可以调整,只要用鼠标拖动分区的边界就可重新划分各部份的大小。
2) 手动控制场景设置操作
手动设置场景操作首先要为所设计的虚拟场景设置背景,要将需要的对象从本地库中找出并加入到场景中。
如果想对场景中某对象重新命名,右击对象树上的该项,从菜单上选择rename,打入所取的新对象名,就完成了对象的重新命名。
如果觉得某对象在场景中不合适,则可右击场景中的该对象,从弹出的菜单中选择delete去删除它,或者在对象树右击该项,同样可选择delete去删除它,或直接拖该项到垃圾桶丢弃。
除了对象的重新命名和场景中删除对象外,更多的工作是调整对象在场景中的位置和大小,设置相机的位置等,而手动设置是通过mouse来使用对象操作按钮来调整场景中的对象,只要将鼠标指向该按钮,就会出现按钮功能的提示,再将鼠标移到场景中需调整的对象进行各种操作,从左至右前五个按钮是用来移动对象的,用来实现对象自由移动、向上与向下、向左与向右、向前与向后、旋转等操作,第六个按钮是对象的放大与缩小,最右边的第七个按钮是对象拷贝,当选择拷贝按钮后,再点击一对象,场景中将会出现该对象的拷贝,不过该拷贝隠藏在该对象的后靣,需要点击最左边的箭头按钮,再用鼠标将拷贝的对象移出来。
在调整场景对象时,可能会越调越乱,因此可以及时地使用Undo回到前一起始位置,而用Redo来恢复原来位置。
例如选择雪地为背景,从本地库中People文件夹拖入一女雪人snowwonman至场景中,用mouse每次点击操作按钮中的一个,使女雪人可以在场景中自由移动、向上与向下、向左与向右、向前与向后、旋转、翻转等操作,并利用第六个按钮将她放大与缩小。
对场景中对象的移动一般是对整个对象的移动,如果要对对象的子对象移动,例如对女雪人的帽子操作,则需点击标记affect subparts左边的小方块。
再点击对象树中snowwonman左边的+号,显示出女雪人四个组成部分,再点击head左边的+号,继续扩展出head三个组成部分,选择hat后,帽子出现黄色框架,这样就可以对帽子这一子对象进行操作,例如可以使帽子向上移动。
还可以对此对象进行copy及delete等操作,当需要对整个对象操作时必须再次点击标记affect subparts左边的小方块,回到对整个对象操作的画面上。
3)用对象的方法设置初始场景。
除了用mouse调整场景中的对象外,还可用下拉菜单来设置初始场景。
(1)选择草地为背景,点击File并选择New world,建立一个新的虚拟场景,同时将tree 及frog加到场景中。
画面上frog(青蛙)太小,为此右击对象树中frog,在出现的下拉式菜单中选择method、frog resize、2,这就使得在场景中的青蛙象放大二倍。
如果选择method、frog move、forward、1 meter,就可使frog向前移动1米。
而选择method、frog turn、left、1/4 revolution,会使frog向左转1/4圈。
选择method、frog turn to face、Happy tree,就使得frog靣向树。
这种方法的缺点是要不断地调整所设定的数据,才能将场景中的对象定位好。
因此在设置初始场景时可能会同时使用两种方法,但在编程时常用它来试验程序命令行的效果。