Flash8轻松打造多功能FLASH课件.docx
- 文档编号:9836756
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:18
- 大小:570.07KB
Flash8轻松打造多功能FLASH课件.docx
《Flash8轻松打造多功能FLASH课件.docx》由会员分享,可在线阅读,更多相关《Flash8轻松打造多功能FLASH课件.docx(18页珍藏版)》请在冰豆网上搜索。
Flash8轻松打造多功能FLASH课件
巧用ActionScript脚本
打造精美的多功能FLASH课件
湖南省浏阳市官桥中心小学 冯献
说到Flash,大家都知道是一款非常优秀的动画制作软件。
其实flash不但能做出精美漂亮的动画,它还有非常强的交互性,利用它来制作做多媒体课件,要比Powerpoint漂亮、生动,要比Authorware灵活、小巧。
Flash做出的课件,不但能把图片、影像、声音融为一体,还能响应操作,可以制作吸引人的练习题和小游戏等。
所以,现在越来越多的老师开始用flash来制作课件了。
虽然是flash是一个专业的动画制作软件,但是学习它你并不会觉得很难。
下面就拿我自己做的课件来说一说怎么利用flash内置的脚本ActionScript(简称as)来制作精美的多功能课件吧。
首先请看一看课件的外观:
[img]
从课件的外观可以看出,本类课件有以下一些常用功能:
1、可以自由设定窗口大小,是仿WINDOWS窗口式控制;
2、自由控制背景音乐的播放和暂停;
3、小组计分功能:
单击“计分”按钮,弹出小组比赛计分器,能加、减分。
再次单击“计分”按钮或单击计分板上“X”则隐藏计分面板;
4、操作帮助信息:
底部有课件的按钮操作指示,可通过单击“帮助”按钮显示或隐藏;
5、进度控制,类似于视频播放器的控制条,能显示当前播放进度和选择进度。
6、粉笔功能,点击画图按钮,则出现“画笔”能自由画线,单击“擦除”丢掉画线。
7、日期动态时间显示,显示当前时间及日期。
由于本文是给有一定flash基础的读者看的,所以一些基本的操作会一笔带过,只重点说说技巧,程序部分的“//”后面表示注释。
下面我就分七个栏目来介绍一下如何用as实现以上的课件功能:
一、设计课件界面风格
漂亮清新的课件面板是一个能吸引学生注意力的成功课件的重要条件。
所以在做课件内容之前一定要新建一个元件,取名为window,设计出一个漂亮的基本面板来。
下图是以主蓝色,70%的透明度制作的主界面:
[img]
上例课件的主色调是深蓝,辅以白色线条作为点缀。
上下各一个标题条和一个状态条,不透明。
如果确定好主界面,那么以后要加上的按钮、计分板等都要和主色相协调。
另外,flash默认的窗口大小是550*400,但是我们要让课件全屏显示,并且能自由控制,这样就必须做好三个按钮来实现相应的效果。
这里,我制作了三个差不多的按钮,分别在实例名称中取名为small_btn、big_btn、close_btn。
把它们排列在课件右上角,像windows一样。
然后在按钮所在层的帧动作中输入:
close_btn.useHandCursor=false;
big_btn.useHandCursor=false;
small_btn.useHandCursor=false;
//这里三句表示将按钮的手型去掉,可以不要
close_btn.onRelease=function(){
_root.window._alpha=50;
_root.ask._visible=true; //由于要防止误操作,所以关闭按钮并不是直接退出,而是调出确定窗口。
界面变50%透明。
};
big_btn.onRelease=function(){
fscommand("fullscreen",true);//fullscreen表示全屏命令
};
small_btn.onRelease=function(){
fscommand("fullscreen",false);//全屏命令为false,即不全屏
};
//下面几句是让这三个按钮在碰触时把提示信息发送给“帮助”元件,在后面会详说。
close_btn.onRollOver=function(){
_root.helptxt="单击此按钮将关闭本演示文件";
};
fullscreen_btn.onRollOver=function(){
_root.helptxt="单击此按钮将全屏显示本演示文件";
};
small_btn.onRollOver=function(){
_root.helptxt="单击此按钮将以标准600*450显示本演示文件";
};
二、利用动态文本显示日间及日期
在课件上显示日期及时间是一个人性化的功能,能让教师方便地知道这节课上了多久,更能把握好自己上课的节奏。
在flash课件上显示日期和时间是很方便的,只要用系统函数newDate()就能得到系统的时间。
为了在课件的适当位置显示,所以我们暂时定在界面的左下角,如图所示:
插入一个动态文本,字为白色,变量为mydate:
[img]
把这一层取名为:
时间(为每一个组件定一层并取好名字是一个好习惯,方便以后的检查)。
在这一层的帧动作中输入以下语句:
functionshowtime(){//自定义函数showtime来取得时间参数
varmytime=newDate();
varmyyear=mytime.getFullYear();
varmymonth=mytime.getMonth()+1;
varmyday=mytime.getDate();
varmyhour=substring(mytime,11,9); //取系统时间字段中的时分秒部分
mydate=myyear+"-"+mymonth+"-"+myday+"-"+myhour;//设定动态文本显示格式
}
setInterval(showtime,100);//每一百毫秒更新参数
这样,课件上的时间就会以2006-03-1918-51-44的形式显示了。
三、按钮与动态文本关联,设定帮助信息
课件是给人用的,如果操作不熟的话,可能会引发意外事件(如跳到别的画面)。
所以课件还缺少一点人性化的东西,即帮助信息,就像所有的软件也要一个帮助文件。
我们就只要向使用者提供一点简单的按钮使用信息就行,这个可以让动态文本实现。
帮助元件并不一定总要出示在界面上,所以还要能隐藏才行,所以这样制作:
先画出一个导航条一样的版面,在它的上面加上一个关闭按钮和一个动态文本,变量为helpmsg。
这样它就能得到按钮被碰触时所提交的信息了
[img]
在它的帧动作中加入:
functionshowmsg(){
helpmsg=_root.helptxt;//得到主场景中按钮提交的helptxt信息参数并显示
}
setInterval(showmsg,100);
close_btn.useHandCursor=false;
close_btn.onRelease=function(){
_root.window.helpmc.gotoAndPlay
(1)
}
然后将它们Ctrl+G组合成一个整体,作成渐隐再现的动画,并在最初、隐藏、再现三个地方的帧动作设为:
stop() 。
这样就只要控制它向后播放就能让它实现隐藏与再现交替进行的效果了。
再将课件各个功能的按钮加入到主场景,并分别命好名,在按钮所在帧动作中加入:
play_btn.useHandCursor=false;
stop_btn.useHandCursor=false;
back_btn.useHandCursor=false;
music_btn.useHandCursor=false;
score_btn.useHandCursor=false;
help_btn.useHandCursor=false;
quit_btn.useHandCursor=false;
//以上为去掉手型式样,可以不要,下面的是显示帮助信息
play_btn.onRollOver=function(){
_root.helptxt="单击此按钮将播放演示内容";
};
stop_btn.onRollOver=function(){
_root.helptxt="单击此按钮将暂停播放,您可单击上一按钮继续播放";
};
back_btn.onRollOver=function(){
_root.helptxt="单击此按钮将返回演示目录,您可选择任意演示内容";
};
music_btn.onRollOver=function(){
_root.helptxt="单击此铵钮将播放或停止背景音乐";
};
score_btn.onRollOver=function(){
_root.helptxt="单击此按钮将弹出计分面板,给各小组评分比较";
};
help_btn.onRollOver=function(){
_root.helptxt="单击此按钮将显示或隐藏帮助信息条";
};
quit_btn.onRollOver=function(){
_root.helptxt="单击此按钮将退出本次演示,你确定吗?
";
};
help_btn.onRelease=function(){
helpmc.play();//让帮助元件播放(显示/隐藏)
};
play_btn.onRelease=function(){
_root.play();
_root.played=true;//得到是否正在播放
};
stop_btn.onRelease=function(){
_root.played=false;//得到目前暂停中
_root.stop();
};
back_btn.onRelease=function(){
_root.gotoAndPlay("menu");//跳到课件目录帧
};
music_btn.onRelease=function(){
musiccontrol.play();//音乐控制开关
};
score_btn.onRelease=function(){
score_mc._visible=true;//显示计分板
};
quit_btn.onRelease=function(){
_root.window._alpha=50;
_root.ask._visible=true;//弹出退出确认对话框_visible是指元件的可访问性
};
如下图:
[img]
四、计分面板,挑起学生的竞争
学生课堂发言不积极,有什么办法可以让他们激烈地竞争呢,那就是在课件中出现一个动态的小组计分板,每组答对一题,就加分,出现违纪或抢答不正确,还可以减分。
在不需要它的时候还可以隐藏起来,再次要时再调出来,并且保留了原来的分数情况。
这个元件其实很简单,只要几个按钮和几个动态文本就可以实现了:
每一个小组一个动态文本,取变量为sN,一个加分按钮,实例名为:
addN_btn,一个减分按钮,实例名为:
cutN_btn(以上名字中,“N”表示1-6的数字,一组就是1,二组就是2)。
如下图:
[img]
接下来要做的就是利用程序让它们“动态”起来:
在帧动作面板中加入以下代码:
aN=0;
addN_btn.onRelease=function(){
aN++;//递增
sN=aN*10;
};
cutN_btn.onRelease=function(){
aN--;//递减
sN=aN*10;
};
同上:
N表示的是一个数,有几组分值就要几组同样的程序。
还有一个问题,就是这个面板有时可能会挡住课件的关键演示内容,要能拖动就好了。
我们也能用代码实现,新建一个bar元件,就像一个状态条。
将它放在面板的上方,像WINDOWS的标题栏一样,然后给它取个实例名:
dragbar,在它所在帧的帧动作中输入:
dragbar.useHandCursor=false;
dragbar.onRollOver=function(){
_root.helptxt="本面板可以单击此处并拖动";//向帮助元件发送信息
};
dragbar.onPress=function(){
_root.window.score_mc.startDrag();//点击时可以拖动计分板
};
dragbar.onRelease=function(){
_root.window.score_mc.stopDrag();//鼠标松开时停止拖动
};
再加上一个关闭的按钮放在计分板的右上角,动作设置为:
on(release){
root.window.score_mc._visible=false//可访问性为false,即隐藏
}
当单击主界面的“计分”按钮时,它的_visible属性为true,就能显示了。
五、进度及播放控制
用过电脑的人都知道,所有的媒体播放器都有一个可拖动式播放头,既能明白地看出影音放了多长了,也能拖动浏览。
Flash也一样,我们可以DIY一个播放器控制元件来:
新建一个元件,取名为:
progress。
如下图,它要包括三个主要构成要素:
一个有刻度的线,一个拖动条(要为元件,实例名为:
bar),一个动态文本,变量为frames,用来显示当前帧和总帧。
[img]
做好以上的所需元件后,将bar放到实例的中心点对齐,让它的X值为0。
然后把progress元件放主界面新一层中,将它的实例名取:
progress。
再在它所在的帧帧动作中输入以下代码:
progressed=true;//设定一个是否播放中的变量,为真
functionprogressing(){
varnow=_root._currentframe;//得到主场景的当前帧
vartotal=_root._totalframes;//得到主场景的总帧数
if(progressed==true){
speed=int(now/total*300);
progressbar.bar._x=speed;//以上两句根据当前帧和总帧的比值算出bar应移动的相对位置
}
progressbar.showmsg=+now+"帧/"+total+"帧";
if(progressed==false){
nowframe=int(progressbar.bar._x/300*total);
_root.gotoAndStop(nowframe+1);
}
}
setInterval(progressing,20);
progressbar.bar.useHandCursor=false;
progressbar.bar.onPress=function(){
progressbar.bar.gotoAndStop
(2);
progressed=false;
progressbar.bar.startDrag(false,0,0,300,0);
};
progressbar.bar.onRollOut=function(){
progressbar.bar.gotoAndStop
(1);
progressed=true;
progressbar.bar.stopDrag();
if(_root.played==true){
_root.play();
}
};
progressbar.bar.onRelease=function(){
progressbar.bar.gotoAndStop
(1);
progressbar.bar.stopDrag();
progressed=true;
if(_root.played==true){
_root.play();
}
};
这样,一个完美的进度显示控制器就完成啦!
六、flash代码画线,完美再现“粉笔”功能
使用课件在多媒体教室上课,非常不方便用粉笔,但是有时候必须要标记某些重要内容,在PowerPoint中有一项很有用的功能,就是画笔,可以在课件上自由地画线。
而flash能不能也用上“画笔”呢?
回答是肯定的。
下面就跟我来一上起实现“画笔”功能吧!
因为画笔不是随时要用,所以把它制作成按钮,用时点一下,就可以画。
所以,先制作出两个按钮,一个是来画线的,一个是来擦除的。
如图:
[img]
[img]
把这两个按钮加入到主界面中,分别给它们的实例名为draw_btn、clear_btn。
然后在它们的帧动作中输入下列代码:
penmc._visible=false//一般情况下画笔不可见
draw_btn.onRelease=function(){
paper.clear()
draw_btn._visible=false
clear_btn._visible=true
penmc._visible=true//显示画笔
penmc.startDrag(true)//画笔与鼠标同步
Mouse.hide()//隐藏鼠标
paper._visible=true
}
clear_btn.onRelease=function(){
_root.window.paper.lineStyle()//线型为空,不显示线条
_root.window.paper.clear()//擦除线条
drawline=false
draw_btn._visible=true
penmc._visible=false//隐藏画笔
penmc.stopDrag()//画笔不动
Mouse.show()//显示鼠标
paper._visible=false
}
//开始画线程序
_root.onMouseDown=function(){
drawline=true
x=_root.window.paper._xmouse;
y=_root.window.paper._ymouse;
_root.window.paper.moveTo(x,y)
}
_root.onMouseUp=function(){
drawline=false;
}
_root.onMouseMove=function(){
if(drawline==true){
_root.window.paper.lineStyle(2,0xFFFFFF,100);//设定线型(宽、色、透明)
_root.window.paper.lineTo(_root.window.paper._xmouse,_root.window.paper._ymouse)
}else{
_root.window.paper.lineStyle()
}
updateAfterEvent()
}
[img]
再做一个penmc元件,用来显示画笔的,实例名也取为:
penmc,将它也放在同一层中,另外建一个空影片前辑paper,用来显示画的线。
将它也放在同一层。
这时测试一下影片,可以发现点击“画笔”按钮,就出现了画笔,并可以画线了:
[img]
七、背景音乐,让我们的课堂更舒适
动听的背景音乐是课件不可缺少的一部分。
在课件中加入音乐能在适当的时候开启,利于教学。
但是在FLASH中加入多首音乐会使文件的体积迅速地增大,所以本例将以最简单的方法加入一个音乐,只能通过按界面中的“音乐”按钮控制它的播放与停止。
制作方法:
先从外部导入一个体积小一点的mp3音乐,建一个名为music的影片剪辑,将音乐文件拖入其中,在属性设置音乐为:
同步-数据流。
然后一直加普通帧,直到波形停止。
将music拖入主界面的音乐层中。
取实例名为:
music。
再建一个名为musiccontrol的影片剪辑,只有两个空白关键帧,第一帧的动作为:
stop()
music.play()
第二帧为:
stop()
music.stop()
将它也拖入到主界面的“音乐”层中,实例名为:
musiccontrol
原理:
通过主界面的“音乐”来控制musiccontrol的播放帧,从而利用两帧来控制music的播放。
当然,其实flash课件中是可以制作出带有音乐列表任选音乐并播放,还可以控制音量及声道的,考虑到文件的体积,本例没有使用这种做法,有兴趣的朋友可以到我校网站来看制作方法(
到此,一个多功能的精美课件已经全部完成了。
如果还有什么问题,请和我联系,E-mail:
fengxian975027@,QQ:
475563067。
通过制作这个课件界面,相信大家对flash又有更进一步的认识了。
欢迎朋友们一起来玩flash,让我们互相交流、共同提高。
谢谢!
!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Flash8 轻松 打造 多功能 FLASH 课件