Authorware5.0中数字化电影的控制

来源:百度文库 编辑:神马文学网 时间:2024/05/03 23:21:08
http://www.pujiwang.com/Html/Authorware/index.htmlAuthorware5.0中数字化电影的控制
大家都知道,在Authorware5.0中,经常会用到数字化电影。那么,如何可以使用户方便地对数字化电影进行播放、停止、暂停、快进、快退加以控制呢?下面我向大家介绍几个方案。
方案一:使用有关媒体控制的函数和变量控制
1、在流程线上放置一个[运算]图标,输入"Resizewindows(640,480)",调整运行时窗口的大小;
2、在流程线上放置一个[运算]图标,命名为"初值",输入:
stopstatus:Flase
movierate:=10
对程序中的变量进行初始化;
3、在流程线上导入一[电影]图标,导入的是*.avi文件,以外部文件格式存在,所以[mode]选项不可选,单击[Timing]标签,在[concurrency]中选择[concurrent]选项,在[Rate]中输入变量[movierate],用来控制播放速度,单位是帧/秒;
4、在流程线上放置一个[交互]图标,命名为"控制",依次拖放7个[群组]图标到交互图标的右下侧,分别命名为"放映"、"暂停"、"继续"、"快进"、"后退"、"退出",响应类型为"按钮"响应,并依次调整好各按钮的位置;
5、为了设置数字化电影在播放时,"快进"、"继续"、"前进"、"后退"按钮为不可选,可以双击图标上方的按钮响应标志,在弹出的[properties:Response]对话框的[Active IF]后面的正文框中输入变量"stopstautus";
6、为各群组图标定义运算编辑内容,选择[放映]图标,按下Ctrl+=键,或选择Modify下Icon中的Properties,在弹出的运算编辑窗口中输入:
movierate:=10
stopstatus:=Flase
GoTo(IconID@"movie")
7、同样方法,在[快进]运算编辑窗口中输入:
movierate:=movierate+5
stopstatus:=False
GoTo(IconID@"movie")
在[暂停] 运算编辑窗口中输入:
mediapause(IconID@"movie",Ture)
stopstatus:Ture
在[继续] 运算编辑窗口中输入:
mediapause(IconID@"movie",False)
stopstatus:=False
在[前进] 运算编辑窗口中输入:
mediaseek(IconID@"movie",Mediaposition@"movie"+2)
在[后退] 运算编辑窗口中输入:
mediaseek(IconID@"movie",Mediaposition@"movie"-2)
在[退出] 运算编辑窗口中输入:
Quit()
另外在退出交互按钮的Response中Branch中选择Exit Interaction,以退出交互选项。程序流程图如下:

程序效果如下图:

方案二:用Active X控件。
Active X控件是Microsoft提供给广大软件开发人员的工具,使它们能够方便地使用现有的Active X控件来搭建程序,[Active Movie Control]控件便支持数字化电影的控制功能,具体做法如下:
1、设置演示窗口的大小;
2、在流程线上插入Active X控件。选择菜单[Insert]中的[Control]的[Active X]选项,如下图所示弹出[ActiveX control]对话框;

3、在[SelectActive X Control]中找到[Active Movie Control]选项,单击[OK]选中该控件,弹出[ActiveX Control Properties]对话框,在这里可以看到控件的各项属性,先不管它们,单击[OK]按钮,此时流程图上出现图标,将其命名为"movie";
4、在流程线上设置一个名为的[运算]图标并输入:
setspriteProperty@"movie",#showPosition controls,Ture)
setspriteProperty@"movie",#showSelectio ncontrols,Ture)
用来设置showposition controls和showselection control)两个按钮可见;
5、在流程线上放一名为的[运算]图标,建立一个文件输入对象,输入如下内容:
IF childinstance=0 then
childinstance:=Newobject("Fileio")
End if
6、先拖动一个[交互]图标命名为"控制",再拖动一个命名为"打开"的计算图标至交互图标右下方,选择按钮交互方式,计算图标内容如下:
moviefile:=callobject(childinstance,"displayopen")
setspriteproperty(@"movie",#Filename,movieFile)
其作用是打开一个数字电影并赋值给Active Movie Control控件,以播放数字电影。
至此,在Authorware5.0中插入[Active Movie Control]控件实现数字电影的控制效果制作完成,其流程图如下图所示:

方案三:使用知识对象(Knowledge Object)
知识对象是Authorware5.0提供的功能模块,用户可以方便地将这些模块嵌入到流程中去,其方法如下:
1、设置演示窗口大小;
2、在主菜单中选择[Windows]下[Knowledge Object]选项,弹出[Knowledge Object]对话框,如图所示,在知识对象列表框中选择Movie controller选项;

3、拖动[Movie controller]到流程线上,在弹出的是否保存信息条中输入文件名后保存;
4、文件保存后弹出[Movie controller Knowledge Object]对话框,单击[Next]按钮,进入下一步,在Select the Digital Movie File中选择欲播放的数字电影;
5、单击[Next]按钮,进入下一步,设置控制按钮选项,共有"播放"、"暂停"、"快进"、"快退"、和"停止"5个选项,选择你合适的选项后单击[]进入[Change Size],设置数字电影播放区域在窗口中的大小,可以输入数字或按比例,再按[Next]按钮进入数字电影在窗口中的播放位置设置。设置完后,单击[Done]按钮完成。运行程序,看一看效果,是不是很酷。
方案四:加入电影滑块控制
1、使用Authorware5.0提供的滑杆。Authorware5.0只对*.mov格式的电影提供了滑杆,可以将*.avi或*.flp电影用Adobe Premiere转化为*.mov格式。具体做法:在Authorware5.0流程线上放置一个[电影]图标,按[Import]导入*.MOV格式的电影后,按[Timing]按钮,在[Play]选项中选取[Controler Play]即可。唯一缺点:格式的文件太大,课件打包后,用户不能随意放大电影。
2、使用微媒体播放器提供的滑杆。在该流程上放一个[运算]图标,双击打开后输入:(JumpOutReturn "","c:\love.avi"),如图:

这里JumpOutReturn是函数,功能是调用并返回,括号中第一个""是空的,意思是调用默认的程序,在上放映电影默认的程序当然是媒体播放器了;"c:\love.avi"表示放映的文件的路径及文件名,这样打包后,用户可以随心所欲地控制数字电影的播放,甚至还可以全屏播放呢。
至此,在Authorware5.0中控制数字电影的技巧就讲到这儿,还不心动吗?赶快上机去试一试吧!