在Director制作演示作品中改变分辨率
作者:佘友军 来源:大众网络报 添加时间:2006-5-21 16:26:39我曾经见过这样一种解决方法:软件开始运行时,先通过Authorware的扩展函数,得到当前屏幕分辨率的状态。如果用户的分辨率与预定的不同,则在屏幕上显示一个大红叉,告诉用户程序无法运行。如此不友好的举动将赶走你的用户。
其实,用DMChangRes就可以很方便的解决这个问题。这个小巧的Xtra可以在www.dmtools.com下载,也可以在http://www.ccidnet.com/soft/cce/20010903.htm下载。安装DMChangResV1.0很简单,只需将DMChangRes.X32拷贝到你的Director Xtras文件夹。这个Xtra将在Lingo中增加一个新的函数ChangRes,凭借这个函数,你可随心所欲地更改用户端的屏幕分辨率。
运行Director 8.0,在Movie Script中输入如下程序:
on startMovie
global oldRes
set oldRes = changeRes([800,600])
end
该段程序首先在电影脚本中申明一个全局变量oldRes,用于保存用户当前的分辨率信息。函数changeRes([800,600])将屏幕分辨率改为800×600,同时返回用户原来的分辨率,保存在变量oldRes中。
在舞台中放置三个按钮:按钮1、按钮2、按钮3,并使它们的Text属性分别为640×480、800×600和1024×768。放置它们的位置如图所示:

on exitFrame me
go to the frame
end
下面我们为这三个按钮分别加入相应cast member script :
on mouseUp
changeRes([640,480])——这里的数字对应于按钮的Text属性
end
这样,当我们按下按钮之后,屏幕分辨率就产生相应的变化。
切记:演示作品结束之后,将分辨率恢复到先前的状态。用户一般不喜欢有人更改自己电脑的设置。只要最后在电影脚本中加入以下语句即可实现该功能:
on stopMovie
global oldRes
changeRes(oldRes)
end
如果同时还要改变屏幕颜色位数,参见lingo自带的函数the colorDepth。
站内搜索