FLASH多媒体课件的脚本应用探讨

2017-03-17 09:22吴琼香
电脑知识与技术 2016年32期
关键词:多媒体课件

吴琼香

摘要:针对《多媒体素材与课件制作实训》课程教学中存在的一些问题:学生对ActionScript3.0没有一个较为全面规范的认识;脚本输入错误率高,无法根据错误提示找到原因,学生程序编写及调试能力差。本文以多媒体课件开发涉及的动作脚本内容为任务,提出教学中应让学生从认识ActionScript3.0脚本、遵守ActionScript3.0的语法规则、编写ActionScript3.0和调试ActionScript3.0四个方面进行加强,逐步提高学生的Flash代码编写能力。

关键词:动作脚本;FLASH;多媒体课件;非计算机专业学生

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)32-0198-04

Discussion on Script Application of FLASH Multimedia Courseware

WU Qiong-xiang

(Guangdong Preschool Normal College in Maoming,Maoming 525000,China)

Abstract: Some problems in the teaching of Multimedia material and courseware making: Students do not have a more comprehensive understanding of the ActionScript3.0,Script input error rate is high, Students cant find the reasons according to the error, Students' programming and debugging ability is poor. In this paper, multimedia courseware development involves the action script content as a task, Based on multimedia courseware development involves actionscript content for a task, put forward the teaching should be to let the students know from actionscript 3 scripts, abide by the rules of grammar, writing, actionscript 3 actionscript 3 and debug actionscript 3 four aspects to strengthen, gradually improve the students' ability of Flash code.

Key words:Flash,ActionScript3.0,multimedia courseware,Non computer professional students

ActionScript,即動作脚本,也称其为代码,是FLASH最新版本的面向对象编程语言,该语言具有非常强大的交互功能,并可以对Flash动画进行更灵活地控制。想要做出一个精致优美又有交互功能的多媒体课件, Flash和Action Script 3.0成为最佳的选择。

我校非计算机专业的师范生在二年级学习《多媒体素材与课件制作实训》课程,课程学习一年,第一学期学习FLASH动画部分;第二学期学习Action Script 3.0并制作一个完整综合的多媒体课件,学生没有计算机相关的编程基础,课堂中又多以实例讲解为主,在学生实践中发现,学生输入代码错误太多,他们无法根据代码运行的错误提示找出原因进行修改,Flash脚本程序调试能力较差。要想让学生正确地编写FLASH动作脚本,让学生从认识ActionScript3.0脚本、遵守ActionScript3.0的语法规则、编写ActionScript3.0和调试ActionScript3.0四个方面进行加强,逐步提高学生的Flash代码编写能力,才能为Flash动作脚本的深入学习和多媒体课件的制作打下扎实的基础。

1认识和理解动作脚本Action Script 3.0

FLASH动作脚本有和其他计算机编程语言相同之处,但我校非计算机专业的学生从未学过任何一门计算机语言,对计算机编程知识如此缺乏的学生,想让学生从零基础开始认识和掌握Action Script 3.0要从最简单入门,一步一个脚印深入理解并掌握Flash动作脚本。

1.1动作脚本

是Flash测试影片生成SWF文件时指示SWF文件执行某些任务的计算机语言。

1.2数据类型

最简单的基础数据类型如下:

1)Boolean数据类型

布尔值是一个用来表示真假的数据类型。其有2个值:true和false。Boolean的初始值为false。

布尔型变量的false值和数值0相等,而true与数值1相等。但不能直接给布尔型变量赋值为1或0,否则造成编译器错误。

2)数字:int uint和Number

int:32位有符号整数,用于存储整数,包括正整数和负整数。

uint:32位无符号整数,只能存储0和正整数,不能存储负整数。

umber:64为浮点数,该类型可以存储整数,也可以存储小数。

3)String数据类型(字符串)

声明字符串的方法如下代码所示:

声明一个字符变量,未赋值:ar str1:String;

声明一个字符变量,赋值为空:var str2:String="";

用類来声明一个空字符串:var str3:String=new String();

声明一个内容为welcome的字符串:var str4:String="welcome";

同上效果:var str5:String=new String("welcome");

使用单引号同样可以声明字符串:var str6:String='welcome';

4) Array数组类型

直接声明一个空数组:var arr1:Array=[ ];

用类来声明一个空数组:var arr2:Array=new Array();

直接使用[ ]操作符,建立一个含有整数1,2,3,4的数组:var arr3:Array=[1,2,3,4];

使用Array类建立一个数据,内容为1,2,3,4:var arr4:Array=new Array(1,2,3,4);

使用Array类建立一个数据,内容为1,2,3,4,最后可以保留一个逗号:var arr5:Array=new Array(1,2,3,4,);

5)Object数据类型

Object的成员有两个:(1)属性,用来存放各种数据;(2)方法,用来存放函数对象。

定义Object(对象)的方法如下代码所示:

var obj1:Object=new Object();

var obj2:Object={};//这两种方法构造的结果完全相同,都是新建一个空白的Object。

使用空的大括号构造对象时,可把对象的属性和方法写进去,例如:

var obj:Object={name:"lzxt",url:"www.baidu.com"};

trace(obj.name);

trace(obj.url);

代码运行后输出结果如下所示:

Lzxt

www.baidu.com

1.3类

类是一群拥有共同特性和行为的对象。类是面向对象编程的核心内容,可通过编写脚本把对象的属性和方法包装成类,也可把库中的一个影片剪辑或声音定义为类,编写脚本应用该类。在ActionScript3.0中,Adobe已经预设了许多不同的类,用户要创建这些类的实例,直接使用import关键字导入类文件即可。

1.4构造函数

构造函数是用于定义类的属性和方法的函数。

函数使用function关键字来定义,其格式如下所示:

function 函数名(参数1:数据类型,参数2:数据类型,……):返回类型{

//函数体

}

代码格式说明:

function:定义函数使用的关键字,小写

函数名:函数的名称,符合变量名的命名规则

小括号:必需格式,小括号内的参数和参数类型均为可选

返回类型:定义函数的返回类型,也是可选的。

大括号:定义函数必需格式,括起来的是函数定义的程序内容,是调用函数时执行的代码。

1.5函数的调用

定义一个含有默认参数的函数HelloAS(),调用时输入参数“我学习ActionScript3.0”,其代码如下:

function HelloAS(str:String){

trace(str);

}

HelloAS("我学习ActionScript3.0");//调用函数

1.6事件

事件是当前程序接受到的当前发生的事情。例如,用鼠标左键单击了一下按钮,当前程序就接收到了按钮被鼠标单击了一下这一状况,而这一状况就被称为发生了鼠标单击事件。

1.7事件处理函数

事件处理函数是在某件事情发生之后(例如某件鼠标事件发生),当前程序要做出怎样的反应,即处理某些事情。

用动作脚本事件处理函数的过程有两步:第一步是创建一个事件侦听函数;第二步是使用addEventListener()方法在事件目标或者任何显示对象上注册侦听器函数。

1)创建事件侦听器

事件侦听器必须是函数类型,可以是自己定义的函数,也可以是实例的一个方法。创建侦听器的语法格式如下:

function 侦听器函数名(evt:事件类型):void{……}

格式说明如下:

侦听器函数名:命名符合变量名的命名规则

evt:事件侦听器参数,为必需,可写成event

void:返回值必需为空,不可省略。

2)注册事件侦听器

addEventListener()函数用来注册事件侦听函数。注册侦听器的语法格式如下:

事件发送者.addEventListener(事件类型,侦听器函数名);

格式说明如下:

事件发送者:实例名称

事件类型:Event类实例或其子类的实例

侦听器名称:事件执行时的侦听器函数,注意,此处的函数不要函数名后的括号。

1.8实例

实例是具体的一个对象,它可以来自库的元件的实例,也可以通过编写脚本创建已存在的类的实例。

1.9实例名称

实例名称是脚本中用来表示具体对象的唯一名称。一般使用“属性”面板为舞台上的实例指定实例名称。由脚本创建的实例,实质在创建时已经给出具体唯一的实例名称。例如:

var Music:Sound=new Sound();

Music既是Sound类的一个实例,也是该实例的名称。

2 ActionScript3.0语法规则

ActionScript3.0跟其他语言一样有自己的语法,想要正确编译和运行动作脚本,同时减少了程序运行的出错率,必须严格遵守ActionScript3.0的语法规则。

2.1ActionScript3.0区别字母大小写

ActionScript3.0是严格区分大小写字母的,且字符串不能跨行。

2.2ActionScript3.0的标点符号

ActionScript3.0的每行语句都以分号“;”结束;所有的标点符号必须在英文输入法状态下输入;

2.2.1注释标点符号,用于增加程序的可读性

双斜杠//后面是注释,在程序中不参与执行,用于增强程序的可读性。

一对斜杠星号,星号斜杠,组合起来的内容不参与程序执行,例如:

stop();/* 在此帧处停止,这里面的文字不参与程序执行*/。

2.2.2点语法

在动作脚本中,点“.”用雨表示对象或影片剪辑的属性或方法。还用于表示影片剪辑、变量和对象的路径。点语法表达式以对象的名称开头,后跟一个点,最后以要指定的属性或方法结尾。

Flash中使用(.)运算符来访问对象的属性和方法,用于以下几个方面:

1)对象后面跟点运算符的属性名称(方法)来引用对象的属性(方法)

对象.属性

对象.方法()

其示例代码如下:

Math.PI;

Math.sin(Math.PI/2)

2)用点运算符表示包路径,比如类文件要放在AA目录下的AS目录下,那么包路径就可以表示为:AA.AS

同样,引用包时,要使用点运算符引入包。比如要引入Sound包,那么引用的代码为:import flash.media.Sound;

3)用点运算符描述显示对象的路径

比如有一个实例名称为mc1的影片剪辑,同时mc1影片剪辑中嵌套另一个影片剪辑mc2,可以通过下面的代码来访问mc2:mc1.mc2.x=100;

2.2.3分号

分号(;)——表示语句结束。例如:var i:Number=50;

可以把多句代码放在一行中,句与句之间使用分号隔开。如下面的语句:

var myint:int=1;var str:String="你好";

这样不会使编译器产生错误,但由于代码位于一行当中,给代码阅读造成了不便。

分号的另一个用途是在for循环中。例如:

for(var i:Number=0;i<10;1++){

trace(i);

}

2.2.4逗号

逗号——用于分隔参数,比如函数的参数,方法的参数等。

比如:trace(1,2,3);

2.2.5冒号

冒号——用于为变量指定数据类型。

1)严格指定变量或对象的类型:

var i:Number=7;

var mysound:Sound=new music();

2)严格指定参数的类型

function welcome(firstName:String,myAge:Number){

}

3)严格指定参数和返回值的类型

function square(num:Number):Number{

var squared:Number=num*num;

return squared;

}

2.2.6小括號()

小括号的3种用途:

1)数学运算方面,改变运算顺序。比如:

trace((2+3)*4);

小括号()

2)小括号结合逗号运算符。比如:

var i:int=1;

var j:int=3;

trace((i+j),i*j);

3)用于函数的定义,利用括号向函数或方法传递一些参数。例如:

trace("欢迎你!");

2.2.7中括号[]

用于数组的定义和访问,比如:

//创建一个新的数组,内容为1,2,3

var arr:Array=[1,2,3];

//输出数组的第2个元素

trace(arr[1]);//输出2

2.2.8大括号{}

用于编程语言程序控制,函数和类中。例如:

var i:int;

if(i==1){

trace(i);}

在面向对象的编程中,大括号是使用最为频繁的语句控制符号。大括号都要成对出现,下面定义一个简单的类,类名为Example,注意:类名的第一个字母最好大写

新建一个as文件输入以下代码:

package {

public class Example {

public function Example() {

trace("这是一个例子");}}}

保存为Example.as

新建一个fla文档,保存为Example.fla,在第1帧上输入:

import Example;

var a:Example=new Example();

a;//测试影片输出: 这是一个例子

2.3声明变量和常量的方法

2.3.1声明变量的语法

使用var关键字来声明变量,格式如下:

var 变量名:数据类型;

var 变量名:数据类型=值;

2.3.2变量的命名规则

变量的命名是任意的,又是有规则、有目的的。变量的命名首先要遵循下面的几条原则:

1)变量名可以是英文也可以是中文,但数字不能作为变量的第一个字符。

2)变量名不能是关键字或动作脚本文本,例如true、false、null或undefined等。特别不能使用ActionScript的保留字,否则编译器会报错。

3)变量名必须是唯一的。不能重复定义变量。

2.3.3使用const声明常量

常数是其值具有始终不变的属性,其值是不能进行修改的。ActionScript3.0中增加了一个const关键字。使用const关键字来声明常量,格式如下:

const 常量名:数据类型=值;

常量的应用非常广泛,比如数学中的PI,物理中的重力加速度。

2.4运算符

ActionScript的运算符很多,在编写程序代码经常会用到运算符,比如赋值运算符“=”等。

2.5 ActionScript3.0程序

2.5.1选择程序结构if…else

if…else条件语句基本格式如下:

if(表达式){

代码块1;

}

else

{

代码块2;

}

说明:如果表达式的值为真,就执行代码块1,否则就执行代码块2。

2.5.2switch语句

switch语句相当于一系列的if…else if…else语句,但是比if…else语句要清晰得多。switch不是对条件进行测试获得布尔值,而是对表达式进行求值,并使用计算结果确定要执行的代码块。

2.5.3for循环语句

for循环语句语法格式如下:

for(初始化;循环条件;步进语句){

循环执行的代码块;

}

格式说明如下:

初始化:把程序循环体中需要使用的变量进行初始化。注意要使用var关键字来定义变量,否则编译时会报错。

循环条件:逻辑运算表达式,运算的结果决定循环的进程,若为false,退出循环。否则继续执行代码块。

步进语句:算术表达式,通过不断改变变量的值,已达到需要实现的目标。

3编写动作脚本

在ActionScript3.0中,用户只能将动作脚本附加到帧上,不能在元件实例上添加动作脚本。

3.1确定任务

在编写动作脚本前先要明确要完成的任务并对其进行分析,把任务化成具体的一个个小任务。

3.2编写脚本

在FlASH中,腳本的编写有两种方法,一种是直接写在时间轴的帧的动作面板上,保存在Flash文件中;另一种方法是建立独立的ActionScript文件,再在FLA文件的帧上输入include "文件名.as"语句调用该ActionScript文件。

3.3动作面板的使用

打开动作面板,选择放置动作脚本的帧,即可编写动作脚本。用户编写的脚本文本将以不同颜色显示,当输入的是正确的命令指令时,文本将以蓝色显示,若输入关键字,文本以紫色显示,若输入自定义的实例名、变量名、对象名时,文本以黑色显示。文本以不同颜色显示提示用户输入是否正确。

3.4使用代码片段

点击【窗口】【代码片段】打开代码片段面板,可在当中选择Flash预设的动作脚本片段。

4 调试脚本

菜单栏【调试】【调试影片】,通过调试影片可以查找Flash中错误的动作脚本。此外,用户使用菜单栏的【控制】【测试影片】命令时也可通过“编译错误”面板看到错误的动作脚本的提示,在编译错误面板上,可根据错误提示找到错误的代码片段,右击错误信息在弹出的快捷菜单中选择【转到源】,可查看错误的源代码。找到错误的动作脚本对其修改或重写直至正确。

若要观察某个变量的值的变化,可以使用trace语句,通过测试影片在输出面板显示变量数值及其变化。

5 结束语

《多媒体素材与课件制作实训》是我校非计算机专业二年级师范生的必须课,非计算机专业学生的计算机编程基础知识几乎是空白的,针对教学中出现的一些问题,本文提出如何让编程基础为零的学生逐步认识、理解和掌握本课程所需的FLASH动作脚本术语、语法规则、动作脚本的程序和调试动作脚本为动作脚本的深入学习打下基础,以便完成本课程的学习目标。

参考文献:

[1]王芳.基于Flash 和Action3.0技术的交互多媒体课件设计与实现[J].计算机光盘软件与应用,2012(17).

[2]肖宇.钱斌基于Flash 和Action3.0技术的交互多媒体课件设计与实现[J].电脑知识与技术,2016,12(10).

[3]施永新.基于ActionScript3.0的Flash课件的程序框架设计[J].电脑编程技巧与维护,2014(4).

[4] 芮亮. ActionScript3.0 在Flash 课件中的应用[J].科教导刊,2014(20).

[5] 陈中,叶卫东. Flash游戏在大学英语教学中的应用研究[J].外语教学与研究,2011(31).

猜你喜欢
多媒体课件
浅谈高校师范生多媒体课件制作能力的培养
多媒体课件优化英语课堂的反思性研究
多媒体课件在高中物理教学中的应用