从Web站点读取Flash 动画演播
贵州大学计算机软件与理论研究所 李 元
Flash
动画不仅包含动画,还可有声音、超文本连接,同时由于它是矢量格式文件,生成的这种包含动画、声音等的文件(*.swf)很小,非常适合在网络上传输使用,因而在当前Web
网页技术中得到很快发展。本文讨论在PowerBuilder6.5 数据库编程中用Flash4
提供的控件“Swflash.ocx"进行Web 站点访问,获取Flash
动画播放。下面是具体做法。
一、立应用对象
运行PB,选菜单“File | New"建立一个应用对象,将它起名为app_flash,并将其应用对象库起名为flash.pbl
存盘;选工具栏的图标“Window"放入一个窗口,起名为w_flash,在这个窗口中放下述控件:一个单行文本编辑框(SingleLineEdit)sle_1
用来输入要提取进行演播的Flash 动画文件( *.sws) 所在的URL's(存放在本机磁盘或存放在Internet
远程Web 服务器的Flash 动画文件);两个命令按钮(CommandButton)cb_1
用来执行提取并演播键入文本框sle_1 中的Flash 文件,命令按钮cb_2
用来退出软件运行。
二、用OLE 连接Flash 4 的控件Swflash.ocx
选菜单“Cotrols | OLE",出现窗口“Insert object",选“Insert
Control",在Control Tyle 栏里找出“Shockware Flash Object"(若该控件尚未注册,
可先选“Register Now"对该控件进行注册);回到PB
窗口,用鼠标点击安放此控件在窗口上并调整大小。再用鼠标右击,出现浮动菜单,选“OCX
Property"设置控件的属性。
三、对Flash 4 的控件的主要属性
Flash 4 的控件Swflash.ocx 主要提供了下列属性在编程中使用。
Movie 属性:存放Flash 动画文件的URL's:在本机磁盘时写全目录名,例如:
d:\lxrj\lixiang\lxpaper\2000\t04\bol.swf
在Internet
上按浏览网页的方式:例如(下面是实际存放在贵州大学Web
服务器上的一个Flash 文件)
http://www.gzu.edu.cn/ ~lixiang/bol.swf
Quality(分辨率)属性:播放的分辨率,有0(low)、1(AutoLow)、2(Hight)、3(AutoHight)、4(Best)五个值
Scale 属性:播放的屏幕,有0(ShowAll), 1 (NoBorder)、2(ExactFit)三个值。
Loop(循环播放)属性:true, false。
menu(菜单)属性:true, false。
四、对Flash 4 的控件Swflash.ocx 进行编程
明白了Flash
控件的主要属性后,即可根据应用的需要进行编程,在我们上面对窗口的安排中,仅需对“播放”按钮cb_1
的clicked
事件录入下述代码即可(不愿编代码的读者可以用鼠标右击窗口的OLE
控件界面,打开属性页填写):
ole_1.Object.movie=sle_1.text
ole_1.Object.scale=0
ole_1.Object.loop=true
ole_1.Object.Quality=4
ole_1.Object.Scale=2
ole_1.Object.menu=true
为方便退出,在另一个命令按钮cb_2 的clicked 事件中录入代码:close(parent)。
五、运行测试
关闭窗口w_flash,回到应用对象app_flash,选菜单“Entry | Script",在open
事件中录入代码:open(w_flash) 后选图标“Run",运行。
本文程序在中文Win98/PowerBuilder6.5 下通过。下图是运行情况:
