类“封装”思想在Flash课件制作中的应用

2009-08-12 10:00盘俊春
中小学信息技术教育 2009年8期
关键词:代码文档绘制

盘俊春

很多教师会碰到这样的问题,面对海量的网络资源很难找到一个适合自己使用的课件。由于一般的课件如exe、swf等格式打包后都不能修改,教师很难增加自己的教学内容,如何把课件做“活”,避免大量重复的工作,提高课件的制作效率呢?我认为如果能够利用“封装”思想制作课件,经过一段时间的积累,你会发现课件的制作效率大大提高。下面通过举例,说明类“封装”思想在Flash CS3课件制作中的应用。

一、什么是类“封装”

在Flash中,类(Class)定义为一类对象。类是描述对象的属性(数据)和方法(行为),这与描述建筑物特性的建筑蓝图相似。可以在外部 ActionScript(AS)文件中编写自定义类,并且在编译fla文件时将其导入到应用程序中。“封装”(Encapsulation)指的是将实现的细节隐藏起来,只将必要的功能接口对外公开。举个简单的例子:使用DVD机时,把DVD机的视频输出端和电视机输入端用线连在一起就可以显示图像了,声音也是一样。但为什么会实现呢?这些细节我们并不知道。对使用者来说,也不需要知道。封装就像DVD机一样,只将必要的功能通过接口暴露,而不需要使用者知道内部实现的细节。

二、类“封装”的好处

通过以上介绍,对类和封装有了初步了解后,再来说说为什么要对课件进行封装。

1.“封装”使修改和制作课件简易化

利用类“封装”制作课件,只要把能实现教学目标的相关功能模块组合起来,改改参数就行了。例如,想制作“函数的图像”课件,可以用已经“封装”好的函数绘图功能类,直接修改一下参数,就可以很快绘制出自己想要的图像了。

2.“封装”将课件整体分解成相对独立的单元

课件被分解成一个个相对独立的单元后,易于修改和替换。最小的单元被认为是单个的“类”(有些教师把最小单元称为小积件、小课件)。例如本文将要介绍的“函数绘图类”就是这样的一个单元。我们把一个个小单元组合起来就可以形成一个完整的课件了。

3.“封装”让教师从制作课件的负担中解脱出来

许多教师除了每周需要上近20节课之外,还有大量的管理工作。这也决定了教师不可能利用大量的时间去制作课件。此时,要想高效地制作出适合自己的课件就相当有现实意义了。如果每位教师都用“封装”思想制作课件,然后再把自己的功能类小积件进行共享,经过一定时间的积累后,轻松制作出功能强大、交互性强的课件将不再是梦想。

实例:函数图像类“封装”

下面通过一个实例分析如何在Flash CS3课件制作中实现类“封装”。如何定义一个新的类呢?Flash CS3和Flash8有些不同,例如:

package { //固定的格式,定义包

public class Hello { //定义类名

public function Hello() { //定义与类名同名的函数

trace("Hello!");

}

}

}

对于一般教师来说,类是高深莫测的一个名词,初学者基本都不敢去接触它。通过上例发现,其实类也不是很复杂,主要有三层,包→类→函数。像package、class、public都是固定的关键字。

下面以绘制函数图像类(二次函数)为例,说明如何进行类“封装”,具体步骤如下。

(1)打开Flash CS3中文版,新建一个外部ActionScript文件(*.as),命名为“fun”,注意名称一定要和代码中的类名称相同。

(2)进入脚本编辑窗口,在窗口中输入以下代码:

package {

import flash.display.Sprite;//导入显示类

public class fun extends Sprite {//定义名为“fun”的类

private var a:Number;

private var b:Number;

private var c:Number;//定义变量,分别是二次函数的三个系数

public function fun(a:Number=1,b:Number=1,c:Number=1) {

this.a=a;

this.b=b;

this.c=c;

init();

}//定义“fun”函数

public function init():void {

var func1=function(x){

return -0.05*a*x*x+b*x +c;

};//构造二次函数,其中-0.05只是把图像放大,并使开口向上

graphics.lineStyle(1,0xff0000,100);

graphics.moveTo(-400 , func1(0));

for (var i=-400; i < 400; i++) {

graphics.lineTo( i, func1(i));

}//绘制二次函数

}

}

}

输入后保存退出。这段代码对具有一定Flash编程能力的教师能理解,对一般教师来说,只要会使用就可以了。

(3)建立类后就可以使用了。新建一个Flash文档,文档属性设置为默认,在Flash文档中主场景的第一帧输入代码。

var a=new fun(1,1,1);//绘制一个二次函数,系数都是1

a.x=300;

a.y=300;//设置图像在舞台中的位置

addChild(a);//把图像添加到舞台上

(4)把新建的Flash文档文件和“fun”类放在同一个文件夹中,在Flash文档中测试效果即可,效果如图1所示。

(5)今后如果要制作一个新的课件,我们只要简单修改数字和函数式,就可以轻松绘制出其他函数的图像了,极大提高了课件制作的效率。例如,绘制一个三次函数图像的时候,只要把类代码中的二次函数式“-0.05*a*x*x+b*x+c”改成“-0.05*a*x*x+b*x*x+c*x”即可,如图2所示。

当然也可以通过“var a=new fun(1,1,1)”改变参数,绘制出自己想要的图像。

通过上例,成功实现了函数图像类的“封装”,它的接口是“var a=new fun(1,1,1)”,教师只要改动函数中的参数就可以实现想要的功能。

利用类“封装”思想制作课件,将会减少工作量,不但可以简单高效地制作课件,而且制作出的课件交互性也会增强。

(本文所用到的源程序网址:http://www.hzgz.net/pjc/类“封装”思想在FlashCS3课件制作中的应用.rar)

(作者单位:广西贺州高级中学)

猜你喜欢
代码文档绘制
Art on coffee cups
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
创世代码
创世代码
创世代码
创世代码
放学后
基于RI码计算的Word复制文档鉴别
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat