基于PBL项目式学习的动画教学设计
2019-04-15江榕春
江榕春
在信息技术新课标中,提倡培养学生的问题解决能力,那么一线教师如何改变传统的教学模式,切实提高学生的问题解决能力呢?在《动画设计与制作》单元,笔者尝试采取PBL项目式学习的方式,以“开心乐园”项目为主题,以“提出问题—分析问题—寻找问题解决方案—解决问题”为主要流程,设计了8个子项目按课时分步完成。下面以《Flash按钮中的代码》教学设计为例,阐述PBL项目式学习的一般操作方法。
设计意图
在前期学习活动中,学生已经制作了自己的半成品动画作品,涵盖了逐帧动画、补间动画、遮罩等技术,分三个不同场景展现了《开心乐园》风貌,迫切需要通过按钮改变只能线性播放、不能跳转的状况。因此,笔者设定本课的项目子课题是《体验交互动画》,拟通过按钮中的代码来控制动画的播放和跳转,以实现交互功能。为达到预期效果,又设计了典型案例,其中包含三个按钮,既有公用库按钮,也有自己制作的按钮,一方面让学生学会调用现成的按钮,探究按钮中的On函数代码所对应的鼠标(键盘)事件;另一方面让学生学会自己制作按钮,认识按钮中的各关键帧所对应的鼠标事件,并与代码中的鼠标事件相对照,深度理解代码的含义和功能,最终使学生在项目解决过程中,能根据需要灵活选择相应的代码,在动画播放过程中,通过单击不同按钮实现较为复杂的交互功能。
教材分析
本课是苏科版初中信息技术教材八年级第一章《动画设计与制作》第四节《体验交互动画》中的第二课时《按钮中的代码》。在上一课时的学习中,学生已经学会通过动作面板在关键帧中输入简单时间轴控制代码的方法,理解了play()、stop()等代码的含义,能根据需要在关键帧选择正确的代码实现一定的控制功能。本课在掌握“关键帧中的代码”的基础上,让学生进一步通过按钮更加灵活地实现交互功能。
学情分析
在前期学习中,学生已经初步掌握了影片剪辑的制作和调用方法,制作了自己的半成品动画作品,能在关键帧中输入简单时间轴控制代码,实现停止、继续播放等功能,但是只能线性播放,不能跳转到其他场景,需要通过按钮来实现交互。本课将在此基础上,进一步探讨按钮的制作和调用方法,认识鼠标和键盘事件,探究如何根据事件选用相应的代码,实现交互。
教学目标
(1)学会从公用库中调用按钮,能在按钮实例中输入代码实现交互。
(2)认识按钮元件和鼠标事件,学会按钮制作方法,并能根据需要在鼠标事件中输入正确的ActionScript代码。
(3)激发学习兴趣,能创造性地制作交互动画作品。
(4)在制作交互动画的过程中培养学生的创新思维,提高问题解决能力。
教学重难点
重点:制作按钮元件;向按钮中输入合适代碼实现交互。
难点:针对每个按钮的不同鼠标事件,以正确的书写格式输入ActionScript代码。
教学流程
1.情境导入,提出问题
教师选择2份优秀学生动画作品,请学生欣赏,在播放动画的同时点评优点,并提出需求:如何控制动画的播放和跳转,实现交互?
设计意图:本单元从使用绘图工具绘制动画场景、制作逐帧动画、制作形状补间动画、新建元件制作动画补间动画,到运用运动引导线、遮罩等技术,经过6节课的设计和制作,学生动画作品已经包含了三个场景,具有一定的故事情节,不足之处也越来越明显,那就是只能线性播放,无法灵活跳转到其他场景。通过欣赏学生作品,可以充分暴露这一不足,从而自然而然地提出本课的项目子课题“如何实现交互动画”。
教师请学生打开学习资源包,运行“探究1.swf”交互动画,观察教师实现交互动画的方法,并回答以下问题:①该场景增加了哪些对象?②每个按钮的状态有几种?③每个按钮的功能是什么?④如何实现该功能?请提出解决方案。
设计意图:本环节让学生在动画场景中观察新的对象——按钮,尝试将鼠标指针指向每个按钮,通过悬浮或单击等动作,直观感受不同鼠标事件下按钮的不同形态,体会按钮元件的特点,研究每个按钮的功能,综合分析这些按钮的作用,并设身处地思考自己的动画要实现交互功能,需要做哪些操作,按什么顺序进行,最终通过讨论提出解决方案:先制作按钮元件,再通过代码实现相应功能。
2.自主尝试,调用公用按钮
教师打开动画源文件,切换到场景2,示范如何打开公用库中的按钮库,并从中选择合适的按钮,拖到舞台上适当位置,测试影片,让学生观察按钮的“弹起”“鼠标经过”“按下”“点击”四种不同形态,并进一步提出问题:为什么单击“停止”按钮没有停止播放动画?启发学生回忆起关于“停止”功能的代码,这时学生跃跃欲试,想自己亲手实践。
教师布置任务1:自主尝试调用公用按钮制作交互动画。
教师观察、辅导学生制作。寻找制作比较快的学生(作品基本完成,但单击停止按钮无法控制动画),演示他的交互动画,提醒学生观察出错提示,寻找错误的根源在于按钮中的代码:stop();。
教师根据出错提示,带领学生观察时间轴关键帧上的a标记,讲解出错原因在于“stop();”命令是关键帧中的代码,而不是按钮中的代码,强调按钮中的代码必须使用On处理函数,指明该代码所要响应的鼠标或键盘事件,然后演示修改方法,通过动作面板,将此按钮中的代码修改为:On(press){stop();}。教师解析代码含义为:当按下鼠标左键时就运行大括号内的代码组(本例只有一条代码:停止播放)。然后重新测试场景,出错提示消失,且“停止”按钮的功能准确实现了。
设计意图:上节课学习关键帧中的代码时,学生已经掌握stop();代码的功能,这时极易直接运用该代码来实现停止功能,但在测试时系统必然会呈现出错信息,教师可抓住机会充分利用出错提示,来促进学生主动思维,当回溯到环节一对鼠标事件的体悟时,学生可顺利发现问题之症结,并尝试一步步解决问题。
接下来,请学生继续修改代码,完成“播放”“停止”按钮的制作并测试场景。根据完成情况,提出新问题:除了“按下鼠标”事件外,还有哪些事件?如何触发这些事件?
教师布置任务2:探究其他鼠标事件。
按钮的动作代码必须以某种鼠标(键盘)事件来触发,除了“按下左键”外,还有其他事件,可根据需要选择使用。教师要求学生尝试修改On函数中的事件代码,通过测试影片,反過来体会代码触发条件,并在学案中做出记录。
小结:只有发生相应的鼠标或键盘事件时,才会触发对应的代码,如“release”(按下鼠标左键再放开)、“rollover”(当鼠标经过按钮)、“keypress”(当用户按下键盘上某键)。
设计意图:任务2的设计目的在于让学生举一反三,进行知识迁移,探究鼠标事件,有利于全面充分地开发一个按钮的多项功能,也为下一个环节自制按钮的四个关键帧埋下伏笔,提高问题解决能力。
3.自主创新,自制按钮
教师重新播放示例动画,提问:“龟兔赛跑”按钮特别在哪里?能从公用库直接调用吗?答案是必须自制。
(1)按钮元件的制作。教师演示操作流程,单击“插入/新建元件”命令,选择“按钮”类型,输入按钮名称,创建“龟兔赛跑”按钮元件,分析其中每个关键帧的含义及其对应的鼠标事件。
(2)布置任务3:制作“龟兔赛跑”按钮并输入代码,以便单击该按钮跳转到“龟兔赛跑”场景。在制作过程中需要思考的问题如下:①如何启发观众明确本按钮的功能?②按钮中的四个帧缺一不可吗?③你能创造性地制作出其他交互动画吗?
设计意图:任务3具有较大的开放性,让学生带着三大问题开启任务的目的在于培养其设计思维,让学生站在用户立场思考按钮制作需要有较强的指向性和实用性,要有一定的美观度,能整合整个作品。最终,个性化的作品才能体现出学生对本课技术的创新运用水平。
4.展示作品,总结提升
教师最后展示学生作品,单击每个按钮测试其功能,进行作品评价,然后师生共同总结本节课的知识点,提高学生的总结能力。要点如下:①在flash动画制作中可以使用按钮,存入代码实现交互。②按钮可以自制,也可以直接调用库中的按钮。③按钮中的代码要满足一定的条件才能执行。
教学反思
PBL项目式学习是国内教育界逐渐兴起的一种新的学习形态,旨在以真实情境为背景,基于现实主题,运用学科知识,习得必要技能,以学生为中心去解决真实问题。开展PBL项目式学习,需要教师具备选择合适的项目主题的能力,来自真实问题的挑战可有效激发学生内驱力。笔者在动画制作单元引入项目式学习,以“开心乐园”为主题,整合了绘画、故事新编以及信息技术,处处以学生为中心,让学生自己设计动画场景和故事情节,通过代码制作“龟兔赛跑”故事新编。在漫长的项目解决过程中,需要学生不断明确问题所在,学会分析问题并提出问题解决方案。当然,在解决问题的过程中,又会不断遇到新的问题,此时教师不妨根据知识体系和制作过程中可能遇到的异常情况,抛出系列问题让学生自主探究,利用软件自身的出错提示、帮助信息,启发学生主动思考,进一步探究解决的方法,这样养成思考和探究的习惯后,才能自然而然地培养学生的问题解决能力。当然,项目式学习会受到学生水平差异的影响,难以统一进度,需要教师的正确引导和小组成员合作来调和。
点 评
项目学习在信息技术教学新授课中之所以存在较大的困难,主要原因在于课堂时间和学习内容等不协调。本篇教学设计从项目主题引出“子课题”,很好地解决了这个问题,把项目放在较多的课时内解决,用子课题重点解决一类问题(本节课解决的是按钮交互)就能很好地分解项目,让项目学习可持续、可操作。本节课还有一个优点是针对问题来进行流程设计,“提出问题—分析问题—寻找问题解决方案—解决问题”的流程能够让教学过程更清晰。可见,项目学习与问题解决策略恰当融合非常有益。当然,在项目学习的子课题设计及学习中,我们要注意内容的开放性、作品的个性化、问题的深度等细节,以使子课题更能体现项目学习的特色。