Alice

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:FlyinginSky
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:Alice是一个在3D环境下编写程序的软件,使学生在利用信息技术分析和解决问题等方面的能力得到很好的提升,让学生在学习编程的过程中多一些探索和乐趣,能够帮助学生在实践中培养计算机思维方式,为以后程序设计课程的挑战做好准备。
  关键词:Alice;3D环境;思维方式
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)12-0158-02
  1 Alice简介
  Alice项目是美国卡耐基梅隆大学的一个学术性的项目,Randy Pausch教授是该项目的创建人,他希望通过此项目教会青少年如何在3D环境下编写计算机程序,它是一种全新的学习编程的方法,只要用日常的语言,就可以让屏幕上的一切三维物体在虚拟世界里服从你的命令,你就可以自己导演电影和创作计算机游戏了。学生可以把图片贴到一个物体上,还可以给物体增加各种简单的动作和脚本,让虚拟世界里的物体具有灵活性。
  Alice是为初学者设计的一种直观式的3D绘图软件,里面有许多事先设计好的绘图物件、检视工具和控制物件的工具,它不必学习复杂的程序语言就能掌握计算机绘图,就算是刚开始学3D绘图的人也能轻松学会。许多美国大学把Alice作为计算机专业的入门课程开设,很多学生在学习了Alice之后对计算机专业产生兴趣。Alice的使用非常容易,用它绘制出来的图形可以直接储存成网页,甚至还可以直接导演一部动画!
  Alice是一个免费的工具,它可以让学生学习到最基本的编程概念,即使学生是第一次接触面向对象编程,也能很快学会创建动画电影和简单的视频游戏。
  2 Alice的基本功能
  Alice提供了一个可拖动的图形界面,它由场景区、对象树、代码编辑区、对象列表、方函数方法细节区等六个部分组成。使用Alice编程你不需要自己写类和对象,它自身就提供了大量的对象库,只用根据提供的类创建对象即可。同样的,使用Alice也不需要写任何代码,只需要拖动对象的方法、函数块到代码区,Alice会根据提示自动生成代码,如图1:
  2.1 创建一个项目
  1)Alice创建一个项目,首先要进行场景的选择,再次就是进行人物的选择,最后在procedures区拖动功能块对人物动作进行程序设计;
  2)选中要编辑的人物,对它进行动作设计,Alice是在3D环境下编辑的,它就像人一样,可以坐可以跳,只要你能想到的动作,就可以拖动程序块,对它进行控制,创造属于你自己设计的动画视频;
  3)每一个对象(人、动植物等等)都有不同的关节、部位,就像java中一个类的数据成员,可以改变这些部位的位置或者对部位添加运动方法,即用类的函数成员对数据成员进行访问和修改。
  2.2 高级功能
  1)Alice除了它提供的属性、方法、函数,还可以自定义属性、方法和函数。在窗口右边顶上的白色矩形按钮那里选择不同的类,对其添加自定义的procedures、function、properties。
  2)在initializeEventListners的视图里可以添加视听,键盘、鼠标的响应就是在这里添加的。
  3 Alice动画具体实现
  Alice常用来制作3D动画和3D游戏,通过一个具体的动画实现,我们能很直观地看到Alice使用的方便、智能。做一个以“举办生日”为背景的动画,动画主要内容:主人公生日,邀请惟一的好友来城堡参加自己的生日宴。生日宴上食物的香味吸引了城堡外小鸟,小鸟飞到橡树上,它看到香蕉树下的香蕉,于是飞到香蕉树下,一跳一啄地到香蕉旁边。通过Alice自身带有的对象库和方法块,生成所需的对象,拖动方法函数块搭建动画,如图2:
  3.1 动画的基本实现
  1)在Setup Scene 界面中使用Alice提供的类库向草地场景添加必要的对象。主要人物三人:adultPerson、elderPerson、teenPerson,构成城堡的十面墙CastleWall,桌子、椅子、蛋糕、碟子、树、鸟等等。
  在Bird旁边添加虚拟相机camera1,用于之后镜头的转换。
  2)将添加的对象移动调整到适合的位置、方向和大小,借助场景界面的相机视图和右边菜单栏的handle style。将城堡围城一个区域,这个区域的内部以及周围就是动画场景,然后把设置好人物以及其他对象的位置和状态,并把主相机对准adultPerson。
  3)添加Alice提供的方法块,让动画动起来。拖动左边的Person方法块MoveToward到代码区,设置移动目标和距离,让人物移动到距离桌子一定距离的地方。用同样的方法实现椅子的拉开,镜头的转换,小鸟的啄食动作,小鸟的飞行动作。
  3.2 动画的高级实现
  通过Alice提供的方法块我们无法直接实现逼真的动画,即使成功实现了,这些动作也不能运用到其他项目里。为了解决这个问题,我们需要给人物、小鸟单独建立一个测试项目,测试人物的走动、坐下、拉椅子,小鸟的飞行、啄食等等方法。测试完毕后,将这些方法块自定义成一个新的方法块,并装入各自的类中,就像java中不同类有不同的函数成员。
  1)为Person类添加行走(Walking)方法:选中Person类,转到类视图下,将测试完成的方法块复制到Walking方法中,将方法的参数修改为P_SCamera,Obstacle,time,Reference。方法的作用:当Person距离参照物Reference距离小于2.0就不断向目标Obstacle走,同时P_Camera的镜头一直对准Person,运动时间由传入参数time控制。其中关键伪代码如下:
  2)用同样方式给Person添加Sitting方法。方法参数修改为Chair,LR_Distance。因为Alice提供的腿部关节转动没有以膝盖为支撑点的转动,所以不能真正实现“坐下”这个动作,只能通过do together制造假象。
  3)选中Flyer这个类,添加Jump和GoFly两个方法。Jump函数实现Flyer向MoveDirection方向移动,并一边跳跃一边啄食。GoFly函数实现Flyer向Obstacle飞行的动作。相关代码如下图,其中通过Flyer的函数(function)isCollidingWith设置循环(while)挥动翅膀的条件,关键代码如图3:
  4)使用自定义的方法和类本身就有的函数、方法实现动画。注意动作的顺序、时间,比如相机的移动要跟随主要对象。
  4 结束语
  用Alice编程,让编程变得更有趣,它避免了一些传统编程方式下会产生的语法错误以及编译连接等等错误引起的困扰。运用Alice已有的对象库和已经写好的步骤编写一个动画或者游戏,即快捷方便又能直观地表现出来。当然,如果想要制作更逼真复杂的动画,也可以自己创建新的步骤。总结来说,Alice是一个很好的,能提起人们对编程兴趣的可视化编程软件。
  参考文献:
  [1] 新浪科技.11月TIOBE编程语言排行榜[EB/OL]. (2008-11-20)[2016-03-29].http://tech.sina.com.cn/s/2008-11-20/1137881896.shtml.
  [2] Dann W P, Stephen Cooper, Randy Pausch. 用Alice学编程[M]. 付永刚,译. 北京: 机械工业出版社, 2009.
  [3] 徐志红, 尹禄, 赵生慧, 等. 基于Alice 培养女大学生计算机编程能力的教学改革探索[J]. 蚌埠学院学报, 2014, 10(3): 5.
  [4] 郑欢, 陈勇. 视觉化程序设计软件的应用与发展[J]. 电脑知识与技术, 2015,6(17): 92.
其他文献
摘要:高校充分利用校园的网络设施,建设网络教学平台,实现课程教学资源的网络化,推动优质教学资源共享,拓宽教学空间,促进教学模式、教学手段和教学方法改革等,不仅有利于加快教学信息化建设,而且能促进现代信息技术在教学中的应用。该文结合《最优控制》研究生课程教学实践,研究《最优控制》研究生课程网络化建设的机制及方法问题,主要内容包括网络化课程建设支撑性理论研究、网络化课程规章制度研究、网络资源与《最优控
摘要:该文以微课教学设计形式,分析EXCEL公式在银行利率问题的应用,通过学习,让学生掌握EXCEL公式应用的“直接在单元格中输入”方法和“复制公式”方法,从而理解掌握这部分内容。  关键词:微课 EXCLE公式 应用  中图分类号:TP317 文献标识码:A 文章编号:1009-3044(2015)02-0183-02  EXCEL公式是EXCEL工作表中进行数值计算的等式。公式输入是以“=”开
摘要:移动互联行业的迅猛发展,致使开发人才需求急剧增加,课程体系是人才培养的重要载体。该文以常州信息职业技术学院移动互联应用技术专业为例,从移动互联人才的培养需求、课程体系建设和课程建设重要支撑等方面阐述了在该专业在课程体系建设方面的探索与实践。  关键词:移动互联应用技术专业;课程体系;人才培养  中图分类号:G424 文献标识码:A 文章编号:1009-3044(2015)07-0162-02
摘要:在电脑已经进入千家万户和各行各业的现代社会,使用电脑已经成为现代人的一项必须具备的基本能力,但是仔细观察周围同学使用电脑的习惯,会发现一个有趣的情况。那就是有的人使用电脑非常熟练,两只手搭配协调,运转如飞,就像一个“弹钢琴”的高手在演奏一首世界名曲,但有的人笨手笨脚,基本上就是一根指头捣来捣去,就像再练“一指禅”。那么什么样的人能够“弹钢琴”,什么样的人只能“一指禅”呢?我对郑州市某高中一个
摘要:智慧旅游已成为旅游业发展的新趋势,也是旅游自身发展与管理提出的新需求。本文介绍了智慧旅游的概念、特点及其主要作用,介绍了黔东南民族村寨旅游的发展情况,详细说明了西江千户苗寨景区智慧旅游的应用及今后发展。  关键词:智慧旅游;民族村寨;民族文化  中图分类号:TP181 文献标识码:A 文章编号:1009-3044(2016)31-0258-02  1 智慧旅游概念  随着信息技术突飞猛进的发
摘要:软件工程学科研究生课程体系建设需要保证学生知识结构完整性与课程知识体系先进性、明确研究生培养目标与课程水平、兼顾学科发展与人才培养、结合培养单位实际情况与自身特色。地方院校在构建软件工程学科硕士研究生课程体系时,应该借助CDIO的引导,加大工程实践的力度,培养合格的、得到社会认可的硕士毕业生。  关键词:软件工程学科;研究生课程体系;地方院校  中图分类号:G64 文献标识码:A 文章编号:
摘要:网络工程专业人才培养方案修订围绕着人才培养目标,在课程设置上重新整合,构建新的课程体系和实践教学体系,强化学生动手能力、实践能力和适应能力的培养;围绕着学生的就业方向从组网工程、网络应用系统开发、网络安全三个方向培养学生的应用能力。  关键词:网络工程;人才培养;实践教学体系  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)31-0131-03  1 培养专
摘要:墓园管理系统的设计和建立,是我国墓园管理进程中的一个重大进步,实现了墓园管理的数字化和网络化,便捷地实现了墓园信息共享。该系统开发基于asp.net、C#,采用了C/S模式。该文对该系统的主要功能、系统流程和关键技术进行了探讨。  关键词:墓园管理;信息系统;系统分析  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)02-0088-03  Abstract:
摘要:建立中等职业学校学业水平测试制度是深化职业教育教学改革,创新人才培养模式,提高职业学校教学管理水平和保证教学质量的重要举措,对培养职业学校学生积极进取、勤奋学习的职业精神,形成较高的职业素养、人文素养以及职业发展能力具有重要的意义。  关键词:中职学测的必要性;具体实施;推广价值  中图分类号:G642 文献标识码:A 文章编号:1009-3044(2016)29-0174-02  深化职业
摘要:这个设计是基于单片机的故障检测系统,采用模块化、层次化设计。通过使用拉压力传感器来完成杆塔受力情况的采集,使用倾斜角传感器来完成杆塔倾斜角度的测量。将测量的数据通过单片机STC90C5A60S2进行与原始数据对比,将故障杆塔编号通过通信模块发送到控制中心。该系统电路制作简单,工作稳定,效果理想,具有很高的应用价值。  关键词:拉压力;倾斜角;单片机;STC90C5A60S2  中图分类号:T