| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
第十一节 检测和调整显示器分辨率

作者:未知    文章来源:网络    点击数:    更新时间:2007-7-29
  用Authorware制作课件,在制作之前就要确定好作品的分辨率,现在常用的分辨率为800×600。可是这并不能保证设计的效果能够在用户的计算机上完美重现。如果用户的显示器分辨率为640×480,那么作品将有一部分在屏幕外,根本显示不出来;如果用户显示器的分辨率为1024×768,那么作品仅能占据屏幕的一部分,也不能让用户看到最佳效果。所以最好的方法是,在程序运行时,检测用户的显示器分辨率,如果和你设计的不一致,那么提示用户改变它。

本节要点:外部扩展函数(UCD) 变量(Variables)和函数(Functions)的使用 知识对象(Knowledge Object)

本例简介:本例流程如下:首先检测用户的显示器分辨率,并保存在变量中。然后判断用户的显示器分辨率和所要求的分辨率是否相同。如果相同,不作改变,直接运行程序;如果不同,提示用户改为要求的分辩率,用户确定后,对显示器分辨率进行调整。如果在运行程序时,用户的显示器分辨率被更改过,退出程序前,将用户显示器的分辨率恢复到原先的值。
  本例通过Authorware的一个外部扩展函数alTools.u32来实现,这个扩展函数可以从作者的主页 http://home3.pacific.net.sg/~apudeepa 上得到最新版本。本例带有源程序中也有这个扩展函数的最新版本。
  本例的结构设计可以很方便地添入其它内容,可以做为模板供以后使用。

完成后流程图


制作步骤:
1、新建一个程序,命名为“aw6_11”,你也可以在程序完成后保存时命名。
2、装载外部扩展函数alTool.u32。如果Functions窗口没有显示出来,选择“Window”>>“Functions”命令,使它显示。在“Category”下拉菜单中选择“test.a5p”,如果你的程序还没有命名保存,那么这时应该选择“[Untitled]”。
3、单击“Load...”按钮,出现“Load function”对话框,选择“alTools.u32”后,单击“打开”按钮确定。


  此时出现alTools.u32中所有的函数列表,本例只需选择“alChangeRes”,然后点按“Load”按钮确定。


  这时就可以在该程序中使用“alChangeRes”函数了,这个函数的作用就是改变屏幕的分辨率。用法为: alChangeRes(Width,Height,bitpp),如alChangeRes(800,600,16) 就是将显示器设为800×600像素,16位真彩色,这也是现在最流行的设置。
4、向流程线上由上到下,依次拖一个计算图标、一个框架图标和一个计算图标。分别命名为“test Screen”、“frame”和“end”。打开“frame”框架图标,将其中所有内容删除,因为本例中不需要其中的导航按钮。
5、向“frame”框架图标右侧拖入两个群组图标,分别命名为“next”和“notice”。
6、“test Screen”计算图标中代码如下:

--这里是本程序运行所需的屏幕分辨率
--本例设为800×600,16位真彩色,你可以改为你想要的值
N_width:=800
N_height:=600
N_depth:=16

--先检测当前屏幕分辨率,并保存起来,以便程序退出时恢复
width:=ScreenWidth
height:=ScreenHeight
depth:=ScreenDepth

--如果当前屏幕设置和本程序要求不同,
if ((ScreenDepth <N_depth)|(ScreenWidth<>800)) then
GoTo(IconID@"notice")
else
GoTo(IconID@"next")
end if

7、群组(Group)图标“next”中为主程序内容,你可以将你的程序放在这个图标内。计算(Caculation)图标“QUIT”是一个按钮,其中代码为 “GoTo(IconID@"end")”,意思就是在点按此按钮后,程序转到“end”图标执行。


8、群组(Group)图标“notice”中内容为调整显示器的分辨率。知识对象(Knowledge Object)“pop-up alert”中的内容是在显示器分辨率不符合要求时,弹出一个窗口,提示用户将进行修改,用户可以确定修改,也可以不确定。计算(Caculation)图标“change screen”中内容是对显示器的分辨率进行调整,其中代码如下:

--将屏幕分辨率调为所要求的值
if wzMBReturnedValue=6 then
alChangeRes(N_width,N_height,N_depth)
changed:=1 --标记屏幕分辨率已被更改
else
GoTo(IconID@"next")
end if

GoTo(IconID@"next") --跳到主程序


9、群组(Group)图标“notice”中“pop-up alert”是Message Box知识对象(Knowledge Object),你可以按照提示进行各项设置。其中“Caption/Message”为设置弹出窗口的标题和消息内容,本例设置如下。


10、计算(Caculation)图标“end”是在程序退出前,判断用户的显示器分辨率在程序运行时,是否被修改过,如果被修改过,那么恢复原来的分辨率设置;反之直接退出。其中代码如下:

--如果屏幕分辨率被更改,程序退出时,恢复原设置
if changed=1 then alChangeRes(width,height,depth)

Quit() --退出

  这样你的程序在运行时,如果需要的话,就可以将用户显示器分辨率设置为合适值,也就能够使你的作品在所有用户的机器上完美重现了!

技巧提示:当程序中有大量的函数和变量时,关于变量的说明和程序中的注释语句是必要的,因为这样能使别人可以很容易读取自己的程序,在很长时间后也能根据注释迅速回忆起原来的内容。


  • 上一篇文章:

  • 下一篇文章: 没有了
  • 相关文章