008FLASH网络教学动画样本
(样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均根据您的要求,把系统上的开发信息,题目等修改成符合您的要求)
本系统开发工具:FLASH
本设计包含内容:源代码+毕业论文+开题报告+答辩稿
论文大概:
论文(设计)题目 网络教学软件中Flash
MX脚本语言的应用与研究
目 录
摘要………………………………………………………………………………………
1
Abstract……………………………………………………………………………… 2
第一章
引言…………………………………………………………………………………… 3
1.1Action Script
的简介………………………………………………………………… 3
1.1.1什么是Action Scrip
脚本语言…………………………………………………… 3
1.1.2 Action
Script的历史……………………………………………………………… 3
1.1.3 Action Scrip
脚本语言的特点……………………………………………………3
1.1.4 Action Script与Java
Script的比较………………………………………… 4
1.1.5 Action
Script脚本如何实现…………………………………………………… 4
1.2 为何使用Action
Script脚本来编制网络教学软件…………………………… 6
第二章 如何利用Action
Script设计制作网络教学软件……………………6
2.1 软件的脚本设计…………………………………………………………………………
6
2.2 如何利用Action Script提供的函数、动作制作网络教学软件……………
7
2.2.1如何实现教学软件中帧中动画的跳转…………………………………………… 8
2.2.2
如何使教学软件中让按钮产生交互……………………………………………… 8
2.2.3
如何实现教学软件中对影片剪辑的控制………………………………………… 9
2.3.4
定义你自己的函数简化你的代码……………………………………………… 14
2.2.5
实现教学软件中一些特殊的动作………………………………………………
16
2.3.利用ActionScript制作发电机模型的实例…………………………………
16
2.3.1脚本设计…………………………………………………………………………
16
2.3.2界面的设计……………………………………………………………………… 17
2.3.3
制作发电机模型…………………………………………………………………… 18
第三章 Action
Script脚本在网络教学软件中的延伸……………………… 22
3.1 Action
Script的特殊性……………………………………………………… 22
3.2 Action
Script与后台程序的交互…………………………………………………23
第四章
结束语………………………………………………………………………………… 23
参考文献……………………………………………………………………………………………24
摘要:
ActionScript是Flash
的动作脚本语言,它的出现使得Flash具有更强的交互性。由于这一特点,Flash被广泛的应用于网络教学软件的编制中。如何利用Flash提供给的ActionScript动作语言来编制网络教学动画,ActionScript中的动作、函数如何选择,往往是多数Flash开发者所关心的。本文从ActionScript的概念、特点讲起,然后结合ActionScript在网络教学软件中的应用,对它的应用进行了初步的归纳和研究。
关键字:Flash MX 动作脚本 教学软件 网络教学
Abstract:
ActionScript is the language of action script for Flash。Since
the appearance of actionScript ,Flash become more and more
commutative。Because of this piont,more and more people product
Network Teaching software with Flash。How to use the ActionScript and
how to choose action and function in making Network Teaching
software is we are concerned。This paper introduce the concept and
peculiarity of ActionScript and how to use the ActionScript。In this
paper ,we conclude the application of ActionScript and study。
Key Words:Flash MX ActionScript Teaching
software Network teaching
第一章
引言
随着网络的普及和发展,使得教育由课堂教学开始向远程教育发展。学生除了在课堂中学习新的知识,还可以在网络上学习。为了满足网络教育的需要,出现了越来越多的网络教学软件,Flash由于它较强的动画特性及与网络良好的匹配性,因而被广泛应用于教学动画软件的制作中。
Flash的应用使计算机教育向多媒体网络教学、网络学校、虚拟校园迈进的步子更大、更快、更踏实。但若只单纯的使用Flash中的动画基本功能,就无法实现良好的交互功能和精确匹配的动画,这就需要在使用Flash时应用Action
Scrip脚本语言来实现。Action
Scrip的产生使Flash向多媒体网络平台发展,利用它可以实现数据的传递、发送等,可使我们制作出的教学软件具有更强的灵活性和交互性。那么,如何使用Action
Scrip脚本语言来编制网络教学软件呢?
1.1 ActionScript 的简介
1.1.1
什么是ActionScrip
脚本语言
Flash是一款优秀的交互动画制作软件,用它制作的网络教学软件,具有交互性强、文件容量小、便于网上传播的优点,因而在教育、教学中得到了广泛应用。借助Flash的动作脚本语言——ActionScript,可以制作出具有良好交互性和开放性的教学软件。
Action
Scrip是一种面向对象的编程语言,像其它脚本语言一样具有丰富的语言元素,包括常量、变量、运算符、表达式、函数、属性、动作、对象和电影剪辑等等。Action
Scrip中与运动物体编程密切相关的有按钮(Button)、电影剪辑(Movie
Clip)以及相应的事件(Event)和动作(Action)。
在Flash中可以使用动作面板给按钮、电影剪辑或帧中设置动作。使用正常模式的动作面板,可以通过鼠标单击和拖放操作创建动作脚本,无需手工编写。如果对动作脚本语言比较熟悉,也可以使用专家模式动作面板手工编写脚本。很多动作的设置只要求有少量的编程经验,有些动作的应用则要求比较熟悉编程语言,用于高级开发。
1.1.2
ActionScript的历史
从Flash3开始,ActionScript
就开始出现,当时的ActionScript还非常简陋,功能也仅仅局限于控制动画的播放等动作。
Flash4推出以后,ActionScript的功能被进一部完善。它基本实现了相应各种事件、控制动画行为、后台交换数据等功能。但是它的编程风格仍停留在面向过程阶段,尽管也有面向对象的概念,但仍然很模糊。
Flash5中,ActionScript出现了巨大的变化。它的基本语法都经过了改写,有点和Java
Script类似,风格也从面向过程转到了面向对象,提出了自定义函数以及新增了强大的数学函数、颜色、声音以及XML等对象的支持,使得编程更得心应手。
Flash
MX 出现以后,它的ActionScript是以Flash
5的ActionScript为基础的,整个语法体系以及编程风格、界面都没有做很大的变化,只是在某些函数、对象的实现上做了扩充,新增了一些方法,提供了更为强大的对象支持。
1.1.3
Action Scrip 脚本语言的特点
Flash MX
ActionScript具有以下的特点:
1)
ActionScript能够控制Flash动画的播放行为和对象的属性。根据用户的动作来做出响应,并在动画中体现出来。根据载体的不同,Flash
ActionScript可以分为两类。一类是放在帧中,主要是做一些计算以及控制动画的播放行为;另一类是放在按钮中或影片剪辑中,其主要功能是响应用户的事件,当然在响应用户的事件后也会进行一些计算或是控制动画的播放。
2)Flash
MX ActionScript是一种面向对象的编程语言,它的风格和Java
Script语言相类似。程序由多行语句构成,每行语句又都是由一些指令、变量、运算符以及结尾的分号组成。它拥有循环、判断、对象事件等高级语言的特性。
3)Flash
MX
ActionScript可以使用自定义函数。如果有一个功能要经常使用,则可以把它写成自定义函数,在用到的时候调用它。
4)支持XML和XML
Socket。ActionScript提供了XML 和 XML
Socket对象来和后台程序进行交互。任何基于XML标准开发的程序都能和Flash向结合,通过XML对象,Flash可以发送或获取XML资料并对XML资料进行分析,借此达到交换数据的目的。
1.1.4
ActionScript与Java Script的比较
由于ActionScript和Java
Script都是脚本语言,在某些方面都很相似,但是两则还是有很多地方是不同的。
1)ActionScript与Java
Script之间的差异
ActionScript与JavaScript核心编程语言很相似,同样具有函数、变量、语句、操作符、条件和循环等基本的编程概念。不了解Java
Script也可以学习和使用ActionScript。但是,如果了解JavaScript,你就会对ActionScript感到熟悉。ActionScript与JavaScript之间主要有以下几点不同:
(1)ActionScript不支持浏览器特有的对象,如文档、窗口和锚点。
(2)ActionScript不完全支持所有JavaScript的预定义对象、语法结构、函数结构体。
(3)ActionScript支持JavaScript中不允许使用的语法结构
(4)在ActionScript中,eval动作仅执行变量的引用。
(5)在Java
Script,计算未定义数值型变量或表达式,得到的结果是NaN。而在Flash计算结果是0。
2)ActionScript与Java
Script在网络教学中的比较
Java
Script和ActionScript两种脚本语言在网络教学软件的制作中经常被应用。Java Script
和ActionScript在网络教学软件编辑中各有所长,互为补充。由于ActionScript是嵌套于Flash中的脚本,在动画处理方面和脚本编写方面ActionScript要比Java
Script优秀。但ActionScript不能与HTML页面的完美结合,这是最大的缺点。
1.1.5
ActionScript脚本如何实现
1)要学习如何使用ActionScript脚本,首先要清楚ActionScript脚本是如何流动的。
ActionScript动作脚本遵循逻辑流动。Flash执行动作脚本语句,从第一句开始,然后按顺序执行,直至到达最后的语句或指令跳转到其它地方的语句。
2)使用动作脚本创建自定义对象
若要创建自定义对象,需要定义构造函数。构造函数的名称总是与它创建的对象类型的名称相同。可以在构造函数体中使用关键字
this 来引用该构造函数创建的对象;在调用构造函数时,Flash 会将 this
作为隐藏参数传递给它。例如,下面就是一个构造函数,用于创建具有属性radius 的圆:
function
Circle(radius)
{
this.radius
=radius;
}
定义了构造函数之后,必须创建该对象的一个实例。在构造函数名称的前面使用 new
运算符,并给新实例分配一个变量名。例如,下面的代码将使用 new 运算符创建一个 Circle 对象,其半径为 5 ,然后将其分配给变量
myCircle :
myCircle =new
Circle(5);
注意:对象的范围与其被分配到的变量的范围相同。
3)使用动作脚本将方法分配给自定义对象
可以在对象的构造函数中定义对象的方法。但是,不建议采用这种方式,因为每次使用构造函数时都要定义方法,如下例所示。在此示例中,将创建方法
area()和 diameter():
function Circle(radius){
this.radius
=radius;
this.area =Math.PI *radius *radius;
this.diameter
=function(){return 2 *this.radius;}
}
每个构造函数都有一个 prototype
属性,此属性是在定义该函数时自动创建的。prototype 属性表示用该函数创建的对象的默认属性值。对象的每个新实例都有一个
__proto__属性,用于引用创建它的构造函数的 prototype 属性。因此,如果将方法分配给对象的 prototype
属性,则该对象的任何新创建的实例都可以使用这些方法。最好将方法分配给构造函数的
prototype属性,因为它只存在于一个位置,并且由该对象(或类)的新实例引用。可以使用 prototype和
__proto__属性扩展对象,这样能够以面向对象的方式重用代码。
4)使用动作脚本创建继承
继承是一种组织、扩展和重用功能的方式。子类会从超类继承属性和方法,并添加自己的专用属性和方法。例如,就现实世界而言,自行车是一个超类,而山地车和三轮车则是该超类的子类。
这两个子类都包含,或者说是继承
了超类的方法和属性(例如 wheels )。每个子类还具有它们自己的属性和方法,这些属性和方法扩展了超类(例如,MountainBike
子类具有 gears 属性)。在动作脚本中可以使用 prototype 和 __proto__元素来创建继承。
所有的构造函数都有
prototype 属性,该属性是在定义该函数时自动创建的。prototype 属性表示用该函数创建的对象的默认属性值。可以使用
prototype 属性将属性和方法分配给类。类的所有实例都具有
__proto__属性,该属性会指出这些实例继承自哪个对象。在使用构造函数创建对象时,会将 __proto__属性设置为引用其构造函数的
prototype
属性。
继承会按照明确的层级向下延伸。在调用对象的属性或方法时,动作脚本会查看该对象,确定是否存在这样一个元素。如果不存在,动作脚本会查看该对象的
__proto__属性以获得信息(myObject.__proto__)。如果该属性不是该对象的
__proto__对象的属性,动作脚本会查看myObject.__proto__.__proto__,依此类推。
1.2
为何使用ActionScript脚本来编制网络教学软件
万维网为教学提供了大量的机会,但与利用其它传输方法一样,必须考虑最佳的教学方式。由于通过网络的教学学生是无法和教师面对面的,就需要教学软件的设计者根据网络的特点制作出好的教学软件。一个好的网络教学软件,应该要考虑到网络的传播速度和课程的实际情况而设计。根据建构主义的原理,学生是一个能动的对象,学生的学习是通过自身经历与概念相结合的,因此要求设计者设计出具有良好交互功能的教学软件。
许多的教育家提出了交互式网络教学这个概念。从广义来说,网络教学的交互分为网上交互与面对面交互两种。面对面的交互可以理解为,网络课程教学必须根据课程特点、学生特点辅助适当的网下活动。面对面的交互是网络教学的有力补充。
从上面我们可以知道,知识是学习者在一定的情境即社会文化背景下,借助学习时获取知识过程“其他人包括教师和学习伙伴"的帮助,利用必要的学习资料,通过意义建构的方式而获得。基于建构主义学习理论,为了完成“意义建构”即知识的获取,网络课程教学与学习环境必须创设恰当的“情景”,提供充分的“协作”与“会话”条件,让学习者通过个性化的行为与学习内容、教学管理平台、其他学习者、教师之间的互动,完成知识的建构。
ActionScript由于有强大的交互功能和动画设计功能,可以实现网络教学软件中交互问题和动画效果,使原本抽象的概念、原理得到形象的展示,帮助学生更好的理解问题,解决问题。所以在网络教学软件制作中要使用ActionScript脚本。
3)如何实现教学软件中对象的拖动
在制作教学动画时,有时会要求通过拖动某对象到指定的位置来实现交互或动画。要实现这样的效果,可以利用ActionScript提供给的startDrag(target〔,lock[,left,top,right,bottom]〕),StopDrag()来实现。
startDrag动作是用来使指定的影片剪辑实例在动画播放时可以拖动,在需要自定义光标时特别有用。其中target指定要拖动的影片剪辑实例的目的路径;lock可选参数,指定一个逻辑值;top、bottom、left、right可选参数,指定影片剪辑的上、下、作、右的拖动范围。
StopDrag动作则用于停止用startDrag启动的影片剪辑拖动操作。
在制作一些需要拖动一些影片剪辑到指定位置来进行填空判断的教学软件时,就可以运用。下面来看一个制作趣味填诗教学软件的例子(如:图四)。
首先,可以把要移动的元件先制作成按钮,这样鼠标移动上去的时候就会出现手型表示可以移动。然后,把按钮拖入影片剪辑中做成影片。再次,把影片剪辑拖如场景中,并给它命名,假设命名为MC1。最后,在按钮中加入以下代码:
on(press){
startDrag(“_root.MC1”,0,0,800,600);}//按下鼠标开始拖动
on(release)
{
stopDrag();}//松开鼠标停止拖放
通过以上的代码,就可以在影片中实现拖动名为MC1的影片剪辑实例的效果了。
因此,在制作需要拖动的元件时可以先把它制作成按钮,然后在制作成影片剪辑,最后把以上代码加入,就可以实现拖动的效果。
4)如何实现教学软件中通过对某影片剪辑操作时发生响应
在ActionScript中有一个影片剪辑函数onClipEvent(movieEvent){…},利用它可以实现对影片剪辑的响应交互。
onClipEvent动作中的movieEvent参数是用来指定影片剪辑事件。onClipEvent动作只能分配给影片剪辑实例。当指定剪辑事件发生时,执行该动作内的动作。对影片剪辑常用的事件是:
(1)load:影片剪辑实例化并在时间轴中出现时发生。
(2)unload:影片剪辑实例从时间轴中被卸载后,该动作在动画的第一帧发生。与unload剪辑事件有关的动作在任何动作被附加到受影响的帧之前被处理。
(3)mouseMove:每当移动鼠标时发生。
(4)mouseDown:每当鼠标左键按下时发生。
(5)mouseUp:每当鼠标左键释放时发生。
(6)KeyDown:某一按键被按下是发生。
(7)KeyUp:释放某一按键时发生。
可以根据需要来决定使用何种事件来产生响应。下面来看一个例子。
上面讲解的趣味填诗教学软件中,除了要实现对所要拖动的元件拖动的效果外,还要实现对错的判断,即图片是否拖动到指定位置,要实现这样的效果,可以在该影片剪辑中插入以下代码来实现。
onClipEvent
(mouseUp) {
if (this.hitTest(_root.word1)) {
//
碰撞检测。检测该对象是否碰撞到文字动画。
setProperty(_root.word1, _visible,
1);//有显示文字,告诉用户答对了
_root.num =
_root.num+1;
//参数num加1
_root.number =
_root.num;
//将num输出到变量框,number记录用户的答对的题数
}
}
下面图五就是加入这段代码后的效果:
从这个例子中,可以把自己编写的编辑语句方入onClipEvent中来实现动画。
在这里所提到的影片剪辑函数只是ActionScript中影片剪辑函数的一部分,但可以看到很多的动画的实现都是通过影片剪辑属性的改变来完成的。所以,你只要合理的运用ActionScript提供的影片剪辑函数,就可以实现很多的教学动画,来设计、制作出好的网络教学软件。
2.3.4
定义你自己的函数简化你的代码
在编写脚本时,如果脚本很长,往往根据功能的不同,将代码块编写成一个或几个函数,以便重复调用。这种由用户定义的函数称为自定义函数。
要定义一个函数,使用function动作,后跟一个函数名、要传递给函数的参数和代码块。函数定义的一般形式:
function
函数名(参数列表){
代码块;
return
表达式;}
有了自定义函数,可以在制作教学软件中把那些常用的程序写成函数,这样就可以缩短编写代码的时间和减少代码的长度。
例如,在制作按钮时,希望当鼠标滑过按钮使出现提示文字标签,如图六:
可以自定义一个鼠标滑过出现提示文字标签的函数,代码如下:
function createTip()
{
_root.createEmptyMovieClip("tipMC",
0);//创建名为“tipMC”的影片剪辑
_root.tipMC.createTextField("tip",
1, 5, 20, 50, 10);//创建文字的区域
with (_root.tipMC.tip)
{//设置标签属性
background =
true;
border =
true;
autoSize =
true;
textColor =
0x000000;
backgroundColor =
0xFFFFE1;
borderColor =
0x000000;
}
}
function showTip(tipText)
{//获得所要显示的内容并显示
_root.tipMC.tip.text =" "+tipText+"
";
_root.tipMC.startDrag(true);
_root.tipMC._visible
=true;
setInterval(hideTip,5000);
}
function
hideTip()
{//停止显示
_root.tipMC.stopDrag();
_root.tipMC._visible
=false;
}
createTip();//创建空标签
_root.tipMC._visible =
false;//标签不显示
在定义了函数以后,在按钮中只需要调用函数名就可以了。
如果不编写以上的函数,在按钮中要实现鼠标滑过按钮出现提示文字标签的动作,就需要在每个按钮中重复写入代码,就会增加代码的长度。
2.2.5
实现教学软件中一些特殊的动作
在制作教学软件的时候,有时需要教学软件能全屏播放,有时需要能通过超级连接来达到与网页的联接。ActionScript对此都做了充分的考虑,提供了以下的动作来完成这些要求。
1)fscommand(command,arguments)
动作中的command和arguments参数用于指定发送给播放器使用的字符串。利用它可以控制教学软件的全屏。
2)getURL(url〔,window〔,variables〕〕)
其中,url参数用来指定URL地址;window是可选参数,用于指定超链接文档将要载入的窗口或HTML框架;variables也是可选参数,确定是否使用GET或POST方法发送变量。利用它可以链接到浏览器或网页。
ActionScript提供给了许多的函数和动作,要使它发挥最大的优势就看你自己能否灵活、合理的运用它了。
2.3
利用ActionScript制作发电机模型的实例
2.3.1脚本设计
在制作发电机模型前,首先要制作出它的脚本。因为,只有先制作出一个好的脚本才能制作出一个好的作品。
首先,先确定软件的内容。软件的内容是:发电机是如何工作的。
其次,再来确定软件的应用对象。对象:由于发电机工作原理是初中所上的内容,对象应主要是初中生。
再来,要定义教学目的。目的:让学生能通过形象的发电机模型来初步了解发电机的发电原理。在确定了所制作的软件的内容、对象、目的以后,就可以制定该软件的表现形式了。表现形式:可以制作一个可以控制转动的线圈切割磁力线来发电的发电机模型。
在定义了表现形式后,就要来考虑软件中所需要的元素。在该软件中,我们需要两个已绘制好的磁铁来表示磁场,然后要两个控制按钮(播放、停止)来控制影片的播放。为了说明发电机原理,还可以加上控制说明出现的按钮(说明)。
考虑到线圈是要不停的转动的,在转动过程中它的形状、位置、角度都要发生变化,所以我们决定由ActionScript脚本来实现线圈的绘制和转动。由于是与绘制有关的,所以选用的ActionScript脚本的动作是以lineto(),moveto(),linestyle(),beginFill()等绘图有关的动作为主。
最后,形成脚本,见表2:《发电机模型》脚本:
题目 《发电机模型》
界面主题 本页作用:直接揭示出课件中所包含的重点教学内容
制作工具 Flash
MX和它的动作脚本
媒体 ●
播放(点击该按钮“放电机模型”开始转动环节,滑上出现“播放”文字)
●
暂停(点击该按钮进入“放电机模型”停止转动环节,滑上出现“停止”文字)
●
说明(点击该按钮弹出说明文字,滑上出现“说明”文字)
●
发电机模型和伏特表 制作说明:
本课件为教学辅助软件,在网页版面及美工设计中,因给人以简洁,纯朴的感觉。在网页交互中,因直接简单。
界面
界面说明:
其中的发电机模型的线圈是用脚本编写而成的
(原因:由于发电机中线圈需要转动,所以为了形逼真就用脚本来编制)。
文本 1、标题《横波、纵波的效果演示》
2、说明
发电机原理:根据磁感应原理,利用线圈切割磁场产生电流。 效果要求:
课件的页面是一个整体效果的窗口。因此,在课件封面的设计中要给人以良好的印象。文字,背景图片要配合的恰到好处,交互界面要友好简洁。
动画
在该页中有动画效果:转动线圈切割磁力线,并在伏特表上显示电压的大小(注:伏特表利用指针的旋转来表示)。 采用到lineto(),moveto(),linestyle(),beginFill()等动作来实现动画。
2.3.2界面的设计
考虑到制作的是教学软件,使用的对象是以中学生为主,所以可以在简单、明了的基础上,适当选用比较明快的颜色,使界面看上去比较活泼。根据这些特点,我们选用蓝色作为影片的背景色;在元件上适当的对不同的元件选用不同的颜色,使每个元件显得鲜明,易于学生观看,起到强调的作用。
在定下基调色和元件的颜色后,就要对元件进行排部。要把重要的放在最前面、最显眼的地方,因此就把放电机模型放在正中央偏右,把按钮等其它辅助元件发在其左下角。
定好色彩和排放好元件后,基本的界面就大致做出来了,见图七:
2.3.3 制作发电机模型
在设计好脚本和界面后,就开始制作发电机模型。
首先,我们打开Flash MX
,新建一个空白的Flash文档,设置影片的大小为550×400像素,背景色为#3399FF。
然后,制作影片所需要的元件。
1)新建两个影片剪辑,分别命名为“左磁铁”、“右磁铁”。在两个影片剪辑中绘制磁铁的形状,如图八、图九。
2)新建影片剪辑并命名为“箭头”。在该影片剪辑中绘制一个向上的箭头,如图十。
3)新建两个按钮,分别命名为“播放”、“停止”。在影片剪辑中绘制按钮,如图十一、十二。
4)新建按钮,命名为“说明”。在该按钮中绘制如的图像。
4)新建按钮,命名为“close”。在该按钮中输入close,如图:
。
5)新建影片剪辑,命名为文字说明。在第一帧中建立一个空白关键帧,并在帧动做中输入代码stop();。在第二帧中插入“close”按钮并绘制图像,最后的效果如图十四。在第二帧动作中同样输入代码stop();。
在close按钮中加入以下代码:
on(release)
{ gotoAndPlay(1);
}
场