[返回]
计算机世界2000年第13期

从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 下通过。下图是运行情况:
pb146_1.jpg (27134 字节)