交互动画案例在Flash程序教学中的应用与实践
2017-06-23林旭晞
林旭晞
摘 要:Flash作为一种独立的艺术形式,被大量应用于网络矢量动画、游戏、广告和UI设计,近年来在新移动媒体中得到了更为广泛的应用和推广。在Flash课程教学中,使用Action Script进行编程对于中职学生是个不小的难题。选择渐进式的交互动画案例,让编程与动画效果相结合,直观生动地呈现程序的交互效果,能够有效激发学生学习积极性,提高教学成效。
关键词:Flash;AS程序;交互动画
中图分类号:G64 文献标识码:A 文章编号:1673-9132(2017)18-0007-02
DOI:10.16657/j.cnki.issn1673-9132.2017.18.002
对于大部分中职学生来说,教学内容的趣味性很大程度上决定了学习的效果,尤其编程类的课程很考验教师对教学内容的把握。学生对于编程的学习效果不理想,不仅由于编程的难度高,更主要的是由于编程的枯燥。
“交互”在计算机中意思是参与活动的对象可以双方面相互交流,教学中强调教师与学生的之间的互动,却常常忽略了学生与直接面对的实例之间的互动。计算机教学中所使用的实例需要学生的实际操作,实例效果好坏和成败的反馈不是教师给予的,而是学生在操作过程中直接获得的,因此,Flash程序实训教学的实例选择应符合中职生的特点,在编程的基础上综合考虑实例的难易渐进、参数修改和测试的对比直观性、动画美观性等方面。
Flash具有交互性强、创作简单的特点 [1],以其独特的形式能够将动画和程序相互结合,网络上有很多可以进行交互的案例,如网页导航菜单、广告片头、电子贺卡、网页小游戏等等,有趣且互动性强,是理想的Flash程序实训教学案例。在教学过程中以学生为主体,做到学做合一,针对学生的认知特点和现有知识体系,选择循序渐进的交互动画案例,设计教学流程,由浅入深地引导学生掌握Action Script(简称AS)的使用,结合美工设计和游戏设计,用动画和游戏的魅力吸引学生参与到程序的编写,从实现简单的交互动画,到完成小游戏项目的制作。
一、建立互动,激发兴趣
在学习AS程序初始阶段,选择语句简单且直观性强的交互动画实例,学生可以直接测试得到以动画方式呈现的结果,获得及时的反馈,学习效果明显。使用AS编程与使用VB、VC等高级程序设计语言相比有不小的差别,它的语句格式要求较低,利用AS中自带的脚本助手来简化编程、降低难度,减少学生犯错的可能,提高作品的成功率,降低学生对编程的恐惧和排斥心理。下面通过两个实例进行说明。
(一)小鱼游:控制鱼的游动和停止
此例中用到函数有on函数、play函数、stop函数。on表示当发生特定鼠标事件时执行动过,play表示开始播放影片,stop表示停止播放影片。
“开始”按钮的语句:
on (release) //当鼠标点击并释放后,执行{}内的语句
{ play ( ); }
“停止”按钮的语句:
on (release) //当鼠标点击并释放后,执行{}内的语句
{ stop ( ); }
运行结果:当点击停止按钮,鱼停止游动;当点击开始按钮,鱼继续游动。
案例分析:这个例子结合了按钮和程序的运用,语句的编写过程直接通过脚本助手来完成,点击鼠标即可实现几个函数的调用,简化程序的编写过程。通过点击按钮实现学生与实例之间的交互,让学生能够很直观地感受到程序的控制作用。
(二) 自制鼠标:设计绘制鼠标指针
选中帧打开动作面板,输入程序:
Mouse.hide( ); //隐藏鼠标
startDrag(s,true); //在MC上开始拖放动作,动作对象为s,true表示锁定鼠标到元件中央
运行结果:在测试窗口内,原本箭头状鼠标指针被隐藏,取而代之的是学生自己绘制的指针样式。
案例分析:此例在学习语句的基础上,启发学生回忆以往在游戏中见过的各种鼠标指针样式,鼓励自行绘制设计鼠标指针,设计样式风格需与使用环境相适合,如刀剑、飞镖、魔法棒、手势、乐器等等指向性比较明确的对象都是不错的设计参考样式。使用类似例子,不仅可以让学生进一步建立起对编程的认识,更可以激发学生的创造设计能力。
二、加深学习,巩固战果
程序结构包括三种基本结构,即顺序结构、选择结构和循环结构。顺序结构是按书写顺序执行的结构,是最简单最常见的结构,之前编写的程序实例都属于顺序结构。分支结构也称为选择结构,根据给定的条件进行判断,决定执行某个分支程序。循环结构是根据给定条件进行判断,当条件成立时,反复执行某个程序段,通常称给定条件为循环条件。这个阶段中,要着重于选择结构和循环结构的讲解和练习,采用结构化程序设计方法,可以使程序的逻辑结构清晰、层次分明、可读性好、可靠性强,从而提高程序的开发效率,保证程序质量改善程序的可靠性[3]。
(一)單个影片剪辑属性改变案例
更改影片剪辑(简称MC)元件实例的可视属性,如坐标、高度、宽度、大小比例、不透明度等等,引入MC元件实例的命名,并且逐一增加使用属性语句如MC._x、MC._y、MC._height、MC._width、MC._xscale、MC._yscale、MC. _alpha等,并修改参数,实时测试并观看结果变化。上文“自制鼠标”实例中还可以用以下语句来实现:“MC._x = _xmouse; MC._y = _ymouse;”。
(二)影片剪辑控制加强版案例
实现单个MC元件实例的变化后,引入循环语句和影片剪辑控制语句。例如,绘制一颗星星MC元件,实例命名为a,利用循环语句复制MC元件实例,随机设置MC元件实例属性,制作出满天星星闪烁的效果。endprint
for (i = 1; i <=20; i++) {
duplicateMovieClip(this.a,"aa"+i,i);
this["aa" + i]._x = random(700); //随机设置X轴坐标
this["aa" + i]._y = random(300); //随机设置Y轴坐标
this["aa" + i]._alpha=random(80); //随机设置透明度
this["aa" + i]._rotation=random(360); //随机设置旋转角度}
案例分析:通过更改循环次数设定星星的个数,修改属性参数值可以获得不同的星星,测试效果实时反馈,直观明了。与本例类似的实例有如霓虹灯、滚动条幅、下雨、下雪等等,学生可以举一反三,课后自行練习。
结合本阶段的程序学习内容,要求学生利用网络搜索其他可改变的元件实例属性,如颜色等。网络资源庞大,善于使用网络资源也是一个信息化社会的必备学习技能,锻炼自学能力,拓展知识面,跳出课堂的局限。随着学习的不断深入,在后续的教学中逐渐引进新的函数,扩展现有的知识结构,制作出实用的小作品,如时钟、网页导航菜单、滚动图片等。
三、项目制作,拓展训练
在进行以上程序+动画实例的强化练习后,下一阶段将选择使用较复杂的Flash小游戏进行综合项目练习,例如拼图游戏、猜拳游戏、找碴游戏等等经典Flash小游戏。游戏是最典型的交互案例,有趣好玩,有适度的挑战性,结果反馈及时,并且能够吸引主体积极主动地参与活动。游戏案例是Flash程序教学中重要的大综合项目,以游戏案例为载体,实施项目驱动教学,将能力的培养和知识的传授相结合[4]。
(一)试玩游戏案例,进行游戏规则分析
玩游戏必先了解游戏规则,以“猜拳游戏”为例,玩家与电脑比大小,有布、拳头和剪子3个选项,三者之间的大小关系为布>拳头>剪子>布,按照玩家和电脑的出拳结果评判胜负。
(二)分解游戏流程,重视逻辑思维构建
游戏项目的制作需要有清晰的思路。教师作为引领者,协助学生分解游戏进程,明确游戏各阶段需要做些什么,绘制游戏流程图,让学生逐步把分解的各部分再拼成一个完整的游戏结构。教师应起到启发引领的作用,应尽量避免直接公布答案或得出结论。
(三)设计制作游戏,强调创新意识培养
游戏制作大体可以分为程序和美工两大块,程序决定了游戏的玩法,美工设计决定了游戏的印象分和趣味性。在制作过程中,应多鼓励学生自行设计游戏风格和动画表现方式,创作出具有个人风格的作品。
“猜拳游戏”有三个阶段:游戏初始界面、主体界面和出现对应动画。为了适当降低整体实现难度,提高完成度,进行游戏项目制作时,根据游戏流程将制作步骤分解成对应的三个阶段。每个阶段完成后先行进行测试,检测程序对错与否,调整动画效果。测试完毕后,再进行下一阶段的制作。分阶段制作测试可以在保证最终游戏成功率的同时,可以让学生能够逐渐加深对整个制作流程的理解,促使学生进一步地对游戏进行改进开发。
(四)项目分组,进行团队合作
对于综合性强的项目,教师组织学生分组进行游戏设计和制作,项目进行分解获得相关知识和技能模块,引导学生在完成项目的过程中模拟进入岗位角色,从游戏的构思,到美工的设计,再到程序的编写,进行游戏测试,让学生体验一个完整的制作流程,进行团体协作,强调合作精神,培养学生的实际操作能力和职业素质。
四、结语
交流互动即交互,通过精心设计安排交互动画案例教学,由浅入深地引导学生掌握AS的使用。动画的加入让程序的学习不再那么枯燥,程序测试结果可以直观生动地呈现;游戏式的探索试验过程让学生能够主动与作品进行互动,AS编程的教学效果有了明显提高。
参考文献:
[1] 叶仕灏.论电脑游戏在中职学校Flash程序设计教学中的应用[J].黑龙江科技信息,2016(23).
[2] 王大远. 一定要会的Flash CS5精彩案例208例[M].电子工业出版社,2011.endprint