APP下载

利用AuthorWare设计一个图片浏览器

2013-08-06邵雨舟

电脑与电信 2013年5期
关键词:文件名数组文件夹

邵雨舟

(北京经济管理职业学院,北京 100102)

1.引言

现在有许多电子相册,可以实现对图像的不同的显示效果,但它们大都使用的固定图像源,在设计时已经将要播放的图像添加在电子相册中,用户在使用时不能根据自己的需要选择其它的图像源。

结合Authorware自身的特点,利用它具有程序设计的功能,我们实现了可以在运行时由用户选择自己需要播放的图像源,而且可以选择不同的播放方式,使用起来灵活方便。

2.在运行时由使用者实时选择要播放的图像源

在运行时可以允许用户通过交互操作,选择要播放的图像源,为了方便图像的浏览,首先将用户选择的播放图像文件名存储在一个数组中。

2.1 设计思路

先获取要播放图片的路径,如果是首次运行,则默认打开当前程序所在的目录,否则打开上一次浏览图像时使用的目录。

然后将选择目录下满足条件的图像文件名保存在数组中,供随后的播放使用,同时记载满足条件的图像文件个数。

2.2 具体实现代码

在“打开文件选择对话框”交互分支中“获取文件夹全部图像”计算图标中添加如下代码,可以选择目录并将选中的图片文件添加到数组中,供下一步播放使用。

pic_list:=[] --数组初始化

if openstate=TRUE then--如果先前曾经打开过文件夹,则获取该文件夹的路径

beginfolder:=path

else

beginfolder:=FileLocation--否则打开当前路径

end if

path:=tMsBrowseFolder(WindowHandle,"选择:","请选择文件夹",beginfolder)

--调用函数获取要播放图片的文件夹名称

openstate:=TRUE

--openstate代表选择过文件夹,true代表选择过,false代表没有选择过

total:=Catalog(path,"f")--获取指定目录下全部文件信息

n:=LineCount(total,Return)--获取全部文件个数

p:=0 --用p变量记录满足条件的图像文件个数

pic_list:=[] --保存图像文件名的数组初始化

repeatwith k:=1 to n --用循环程序依次检查获取的每个文件名

f1:=GetLine(total,k)--取文件名

len:=CharCount(f1)

dot_pos:=RFind(".",f1)

ext:=UpperCase(SubStr(f1,dot_pos+1,len))--取扩展名

if ext="JPG"|ext="BMP"then--如果当前文件的扩展名满足格式要求

p:=p+1 --将满足条件的文件个数累加

pic_list[p]:=f1--将文件名添加到数组中

end if

end repeat

if p>0 then

GoTo(IconID@"播放方式选择界面图")else

SystemMessageBox(WindowHandle,"没有可选择的图像! ","提示 ",#yes)

GoTo(IconID@"选择文件夹")end if

这段程序运行结束后,在pic_list数组中就保存了需要播放的全部图像文件名。主流程线如下:

图1 选择播放文件

3.根据需要确定播放方式

在完成了播放图像的选择之后,就可以根据需要确定播放方式了,本程序一共定义了三种不同的播放方式供使用者选择:

手动控制播放:实现向前、向后的方式控制播放;

幻灯片方式自动播放:连续循环自动播放;

用户自己选择播放:用户在播放列表中自己选择查看某张图片;

3.1 手动控制播放

单击手动控制热区域,进入对应分支。

图2 手动控制播放设计流程线

3.1.1 在计算图标中设置播放的图片文件名和完整路径

i:=1

filw:=path^"\"^pic_list[i]

3.1.2 在计算图标中设置实现前后翻页效果的交互按钮代码

第一幅

i:=1

file:=path^"\"^pic_list[i]

前一幅

if i>1 then

i:=i-1

else

i:=1

end if

file:=path^"\"^pic_list[i]

下一幅

if i

i:=i+1

else

i:=p

end if

file:=path^"\"^pic_list[i]

最后幅

i:=p

file:=path^"\"^pic_list[i]

3.2 自动方式播放

单击自动播放热区域,进入对应分支。

图3 自动播放方式的设计流程线

3.2.1 变量初始化

通过设置变量stop分别为0和1,来决定决策图标的执行和停止。首先在计算图标中设置变量stop为0,当单击鼠标右键时设置stop变量为1,停止决策图标的重复运行。然后设置播放的图片文件名和完整路径。

3.2.2 设置决策图标的属性

设置决策图标的属性,采用“重复直到判断值为真”的方式,条件设置为“stop=1”停止自动循环播放。

当单击鼠标右键时,在计算图标中将stop变量设置为1。

3.2.3 设置特效分支

用不重复的方式,随机产生一个播放分支入口,进入该分支播放当前图片,每个分支有不同的播放特效。

图4 实现不同特效显示效果的设计流程线

通过随机函数产生一个随机数,作为5个分支的入口值。计算特效入口计算图标中代码如下:x:=Random(1,5,1)。

利用不重复方式的决策图标进入某个分支,x作为变量获取分支入口。

每个分支的播放设置:

显示图标“图像”用于显示一个变量表示的图像,且为该显示图标设置了一种显示特效,5个分支分别设置了5种不同的显示特效,这样可以保证图像进入某个分支是随机的,而且可以为不同分支的显示图标设置不同的显示特效。

3.3 用户自己选择播放

单击选择播放热区域,进入对应分支。

图5 用于实现用户选择播放方式的设计流程线

具体实现方法如下:

添加一个ActiveX控件listbox,然后将前面获取的文件名加入到该列表框中。

在下列计算图标中,为列表框添加要播放的图像名。

图6 将要播放的文件名从数组中添加到列表框控件中

然后通过“事件”的交互方式,对列表框单击事件进行交互分支。

图7 交互布标的属性面板

用户在对列表框中的图片名单击后,产生交互,进入“单击图片名”分支。

图8 显示特效设计流程线

在“计算特效入口”计算图标中,获取单击的完整图片文件名和特效分支入口。

图9 获取选择的文件名的计算图标代码

其它产生特效和显示的方法和自动播放的方式相同。此程序具有较好的灵活性和观赏型,再配合使用背景音乐,就能设计出一个个性化的图片浏览器。

[1]宋一兵.多媒体技术应用教程[M].北京:人民邮电出版社2009.

[2]王爱民.A uthorware多媒体课件制作技术[M].北京:中国水利水电出版社,2007.

[3]李京文.A uthorware案例教程[M].北京:中国水利水电出版社,2010.

[4]梅申信.A uthorware中的函数使用[J].安徽农业大学学报,2004,31(2):242-245.

[5]杨迎新,郝凤肖.基于A uthorware环境的多媒体课件的设计与实现[J].计算机工程与设计,2004,25(9):1627-1629.

[6]尹功勋.A uthorware使用操作500问[M].北京:人民邮电出版社,2003.

猜你喜欢

文件名数组文件夹
JAVA稀疏矩阵算法
JAVA玩转数学之二维数组排序
右键调用多重更名更方便
Excel轻松提取文件名
把我的秘密藏起来
摸清超标源头 大文件夹这样处理
调动右键 解决文件夹管理三大难题
Excel数组公式在林业多条件求和中的应用
挂在墙上的文件夹
不容忽视的空文件夹