《FLASH脚本入门》教学设计      秦邯春

职高二年级Flash教学

Flash脚本入门教学设计

秦邯春


教学对象:职高多媒体专业的学生,基本掌握了flash的动画基础,能够独立设计并完成简单的动画短片,但基本没有编程基础,不懂得flash的Action Script脚本。

教学目标:指导学生学习并掌握AS脚本的一般流程,对脚本的作用和用法有一个初步认识,排除学生的畏难心理,甚至使学生喜欢上脚本的学习。

课时安排:4课时

教学难点:AS的语法和数学逻辑

教学重点:变量、属性、if语句

教法:演示教学,边讲边练。


第一课时

初步接触AS语言,破除学生对它的畏惧感。


时间安排

教师要求

学生可能的反应

说明

12

分钟

做一个小球,从舞台的最左端运动到最右边直到脱离舞台。

做一个小球,从舞台的最左端运动向右边,遇到舞台边缘后反弹,开始向左运动,遇到舞台左边缘后再次反弹。如此反弹三次。

做一个小球,从舞台的任意处开始45度角的斜向运动,遇到舞台边缘后按物理规则运,并且运动一直持续到关闭动画。

前两个动画可以很容易完成,第三个动画的第一步很简单,但学生会被“运动一直持续”的要求难住。


学生已经具备一定的flash动画能力,这是学习脚本的前提。

3

分钟

引出今天的课题:脚本。脚本可以完成一些纯动画手段无法完成的事情,我们今天将由脚本来完成上面的三个动画例子,并由此揭开脚本神秘的面纱。



此处要引起学生的好奇心和对脚本的向往,而后面的例子,则是在教授脚本知识的同时,也让学生克服了对脚本的畏惧心理。

10

分钟

第一个例子:

脚本:ball_mc.x+=2;

除了做出要求的内容,学生可以在受启发下做出其它方向的运动,如:

ball_mc.x+=(-2)或

ball_mc.x-=2,以及Y轴方向的运动:

ball_mc.y+=2之类。


脚本很简单,但须花一些时间来认识一些概念:

实例名;对象属性;运算符。

所以10分钟的时间是必需的。

10

分钟

第一个例子的升级:

var mySpeedX:int = 2;

ball_mc.x+=mySpeedX;



学生将从这里第一次接触变量,鉴于变量的重要,此处要花些时间来介绍一下变量,例如其作用和命名禁忌等。


10

分钟

第二个例子:

在一定的提示和帮助下引导学生结小组讨论,自己想办法解决第二个例子运动中的数学,先用语言表达出来,如:

如果小球的坐标超过舞台的宽度,那么小球的速度变为负值。

最后翻译成脚本如下:

ball_mc.x +=  mySpeedX;

if ((ball_mc.x>=535)||(ball_mc.x<=15))

{mySpeedX = - mySpeedX; }


学生讨论的难点其实不在脚本,而在于数学,学生的基础一般不好,没有帮助和提示很可能讨论不出正确的脚本。

如果顺利,学生可以做出另一个方向的运动脚本:

ball_mc.y +=  mySpeedY;

if ((ball_mc.y>=385)||(ball_mc.y<=15))

{mySpeedY=- mySpeedY; }

将在这个例子中学到第一个条件语句“if”,注意多条件的并列“与”和“或”的关系,本例用到的是“或”,表达式是“||”。


第二课时:

深化AS的应用,对编程的方式方法有更深一步的感受。


时间安排

教师要求

学生可能的反应

说明

3分钟

第三个例子:

1、提出问题,竞答:如何让小球斜向运动?如何改变小球运动的方向?

此问题比较简单,学生应该可以得出正确方法,即为小球的x、y方向均赋予速度。X、Y速率的不同,可造成小球运动方向的不同。


5分钟

第三个例子:

2、分组讨论,如何让小球遇边框即反弹。

学生不用考虑脚本如何书写,只用语言表达出意思即可,如:当小球的Y值超过边框的Y值时,就让小球的Y方向速度由递加变为递减等等。

这个讨论很必要,必须让学生彻底明白小球反弹的原理,才能在编写脚本时排除脚本以外因素的影响,老师只需要解决一点脚本格式之类的问题就可以了。

30分钟

第三个例子:

3、分组把讨论的结果转换为脚本,让学生参考前两个例子的格式,自己写出来。老师对各组结果进行点评,得出正确的格式和语言,如:

var mySpeedX:int = 2;

var mySpeedY:int = 2;

ball_mc.x +=  mySpeedX;

ball_mc.y +=  mySpeedY;

if ((ball_mc.x>=535)||(ball_mc.x<=15))

{

mySpeedX =  -  mySpeedX;

}


if ((ball_mc.y>=385)||(ball_mc.y<=15))

{

mySpeedY =  -  mySpeedY;

}

第三个例子在本质上和第二个例子没有区别,只是在条件判断上更复杂了一些,学生初次编写多行代码,即使心里明白,也不可避免的犯下许多小错误,造成代码无法执行。

讨论也好,点评也好,目的是为了让学生对代码书写的方式和方法理解的更透彻,记得更清楚,这对以后的学习是有莫大的好处的,所以此处不要吝惜时间,把活动充分搞起来才好。

7分钟

让每个学生在电脑里打开flash软件,把这个例子写出来,尽可能的独立完成。


这个独立完成的过程是必需的,热热闹闹的讨论之后,必需再亲自执行一遍,才能真正记住和掌握。


第三课时:

总结概念,在实践的基础上讲解理论,要“知其然”更要“知其所以然”。


时间安排

教师要求

学生可能的反应

说明

10分钟

讲解侦听器和函数

可能一下子还搞不明白,须要老师讲解时要思路清晰,多做比喻。

前面的三个例子虽然用了脚本,但为了减少难度,减轻学生对脚本的畏惧感,所以采用了在三个关键帧里书写脚本的办法,当学生已经明白和理解了这些脚本的原理和书写方法、格式之后,有必要使用更正规的办法了。

25分钟

把小球运动的第三个例子,用侦听器和函数的方法重写,然后带领学生细读并分析脚本,找出和原来相比改变了的和没有变的,从而理解侦听器和函数的用法。脚本如下 :

var mySpeedX:int = 2;

var mySpeedY:int = 2;

ball_mc.addEventListener(Event.ENTER_FRAME,ballGo);

function ballGo(event:Event)

{

ball_mc.x +=  mySpeedX;

ball_mc.y +=  mySpeedY;

if ((ball_mc.x>=535)||(ball_mc.x<=15))

{

mySpeedX =  -  mySpeedX;

}

if ((ball_mc.y>=385)||(ball_mc.y<=15))

{

mySpeedY =  -  mySpeedY;

}

}


学生会感到上节课熟悉的脚本一下变陌生了,但由于已经很理解小球的运动的脚本,通过老师的细读和分析,明白了脚本重组的原因,就会发现陌生的东西又变熟悉了:小球运动的原理并没有变,上节课的脚本只不过给封装到函数里了,侦听器的使用,把三帧的动画节减成一帧的动画了。

侦听器和函数是非常重要的概念,在flash的第三代脚本系统ActionScript3里的地位举足轻重,不可或离,不明白这两个概念,以后的内容将无法继续。

但此节课不用介绍的太多,只要介绍明白了ENTER_FRAME事件,再补充一个鼠标点击事件(为下节课内容做准备)即可。

10分钟

要学生独立完成新脚本的书写,在flash里运行成功,认真体会新学到的写法,并试着修改参数运行。


这是为了加深印象,也为了学生能更熟悉更快速的书写脚本,为下节课做准备。


第四课时:

扩展思维,深化学习。


时间安排

教师要求

学生可能的反应

说明

15分钟

要求学生结组讨论,用学过的动画手段和编程手段丰富小球运动的例子,如:

改变小球的速度,每和边缘碰撞一次就加速一点,当速度大于某个数值时,动画结束。

改变小球的颜色,每和边缘碰撞一次就变一色颜色。

改变小球的大小,每和边缘碰撞一次就变大一点,当大到一定程度时动画结束。

这是对前面老例子的扩展,其实只要更改参数和套用对象的其它属性就可以轻松实现,只要略加提示,学生应该自己研究出来。

扩展思维练习,加深对属性和参数的理解应用。

20分钟

要求学生讨论,还能想出什么样的变化?只要想出变化,即使现在做不到也没关系。

根据学生的素质,可能会想出一些新的设计,比如碰撞后小球的破碎和复原等,有的能用现有手段实现,有的暂时还实现不了,老师要一一加以点评,把能用现有手段解决的想法现场解决,不能解决的要记下来,留着以后学习了更多知识再解决。而且要记下提出这个问题的学生的名字,条件成熟时,还由他来实现自己的想法。这样好提高学生的热情,使其更积极主动的投入到以后的学习。

这个讨论的目的,是为了挖掘学生的相像力,提高兴趣,让学生感到编程的无所不能,从而增加学习的热情。

10分钟

总结学生的讨论,鼓励大家努力实现自己的想法,再举几个大家想到和没有想到的设计,展现未来学习编程后“只有想不到没有做不到”的快乐,例如:

在屏幕上每点击一次就会出现一个运动的小球;

在屏幕上设置一个文本框,输入数值就可以改变小球的运动速度;

更改小球运动的范围,每碰撞一次,边框的范围就增大一圈。

……

……

最后号召:同学们,编程的乐趣无限,我们要努力追求,直到我们能“为所欲为”!

希望学生能被老师的语言打动,增加学习的主观能动性。

为学生们展现未来,激发动力。



邯郸六职微信公众号

0310-7872106

工作时间:08:00:—18:00

欢迎随时拨打招生热线