028网络教学软件中Flash
MX脚本语言的应用与研究样本
(样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均根据您的要求,把系统上的开发信息,题目等修改成符合您的要求)
本系统开发工具:
本设计包含内容:源代码+毕业论文+开题报告+答辩稿
论文大概:
论文(设计)题目 网络教学软件中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__,依此类推。
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提供给了许多的函数和动作,要使它发挥最大的优势就看你自己能否灵活、合理的运用它了。