使用Authorware来制作课件的教师都会有这样的经验:在课件制作初期,都要先预设一下课件的分辨率,通常会选择800×600或1024×768,并选中“屏幕居中”选项(如图1)。
由于现在显示器技术大大提高,800×600的分辨率几乎淡出了我们的视野,1024×768的分辨率成为广大教师的共选。当以1024×768分辨率的课件生成后,在更大分辨率的电脑上播放时,就会出现不能全屏的问题。假如,课件在设计时,选择“使用全屏”选项,课件生成后,遇上更大分辨率的电脑播放时,也只是偏在左上角的位置,而无法实现真正的全屏。
在不同分辨率的电脑上播放课件,为了使课件全屏展示,每次都手动调整计算机分辨率虽是可行,但使用起来终嫌麻烦。那以什么样的技术才能让生成的课件兼容更大分辨率实现全屏播放呢?下面介绍两种方法。
一、使用Cover函数隐藏桌面
要实现Authorware课件播放时隐藏周边多余桌面的效果,需要用到Cover.u32这个外部函数(Cover.u32函数可以从互联网上下载)。Cover.u32函数包含有两个子函数:Cover和Uncover,前者的作用是屏蔽课件播放时画面周围多余的桌面,后者的作用正好相反。具体的使用方法比较简单,在此不作赘述。
二、使用alChangeRes函数自动调整分辨率
通过Cover函数,可以把课件展示时周边多余的桌面部分遮蔽起来,让人看上去好像实现了课件的全屏播放,不过此法并不是真正意义上的实现全屏。那么有没有一种方法可以既全屏播放,又不受运行电脑不同分辨率的影响呢?有!alChangeRes函数就可以实现根据课件设计的分辨率,它可以动态地调整计算机的分辨率。
使用alChangeRes函数,必须先加载altools函数,与Cover.u32函数一样,altools.u32函数也是一个第三方的Authorware外部函数,使用方法与Cover.u32函数类似,也需要放在课件的同一文件夹中,并且要预先载入。
另外,altools.u32函数内置了更多的子函数(如图2),这里需要用到的有“alGetCurrentDispSet”“alChangeRes”“alHideTaskBar”“alShowTaskBar”这四个函数,其作用如下:
alGetCurrentDispSet——获取用户的屏幕设置
alChangeRes——改变屏幕分辨率的函数
alHideTaskBar——隐藏任务栏
alShowTaskBar——显示任务栏
alChangeRes函数的具体使用方法如下:
首先,在课件设计流程线上拖一个计算图标,命名为“获取屏幕”,打开并输入以下内容:UserSet:=alGetCurrentDispSet( ),保存并关闭。此计算机图标的功能可以获得当前计算机分辨率配置中的宽度、高度、色位、刷新频率这四项基本信息。
接着,再拖一个计算机图标到流程线上,命名为“分离屏幕”,打开并输入以下内容并保存关闭:
UserSet:=Replace(“x”,“\r”,UserSet)
UserWidth:=GetLine(UserSet,1)——此参数为屏幕宽度参数
UserHeight:=GetLine(UserSet,2)——此参数为屏幕高度参数
UserBitpp:=GetLine(UserSet,3)——此参数为屏幕颜色参数
UserIfreq:=GetLine(UserSet,4)——此参数为屏幕刷新频率
第三步,再拖一个计算图标,命名为“改变屏幕”,打开并输入以下内容:alChangeRes(1024,768,32,60),保存并关闭。特别说明一下,括号中的前两个参数,需要根据课件设计的参数来编写,如课件起始设置的屏幕大小为800×600,那这里就要写成alChangeRes(800,600,32,60);对于括号中的第三个参数,由于现在随着计算机硬件的不断升级,一般可以用32位色深,保守点的话,可以写成16位色深;对于括号中的最后一个参数,建议写成60,因为现在很多的显示器都从CRT升级为LCD或LED的高端显示器了,所以考虑到兼容性,这里最好是60。为了取得更完美的效果,再加一个计算图标到设计流程线上,命名为“隐藏任务栏”,打开并输入以下内容:alHideTaskBar( ),保存并关闭。
最后,在课件结尾处拖一个计算图标,命名为“恢复原先屏幕”,输入以下内容并保存:
alChangeRes(UserWidth, UserHeight, UserBitpp,UserIfreq)——恢复计算机原来的分辨率
alShowTaskBar( )——显示任务栏
Quit( )——退出
通过以上的设计编排,课件运行时,我们发现,课件运行之初已经智能地改变了当前播放此课件计算机的分辨率,达到了课件全屏播放的效果。当课件播放结束后,再改回到计算机原来的分辨率状态。至此,我们比较完美地实现了课件的全屏播放。
图2