ehxz 发表于 2007-7-13 09:17:08

[转帖]PowerBuilder实现FLASH动画播放

<p>PowerBuilder数据库编程中利用Flash控件进行动画播放和控制播放的方法。&nbsp;<br/>关键词&nbsp;&nbsp;OLE控件&nbsp;动画&nbsp;&nbsp;Flash&nbsp;&nbsp;&nbsp;PB&nbsp;<br/>1.&nbsp;前言<br/>PowerBuilder(以下简称PB)是一种面向对象、快速开发数据库的开发平台,常用于数据库的开发,FLASH动画不仅包含动画,还可有声音等形成非常形象的动感画面,在PB开发的程序中加入FLASH动画,使得程序更具活力,为用户创造一个更加友好的交互式界面。下面介绍在PB8.0数据库编程中用Flash&nbsp;5提供的OLE控件“SwFLASH.ocx”实现动画播放的一种方法。<br/>2.&nbsp;PB中OLE控件的使用<br/>在PB8.0环境下使用“SwFLASH.ocx”控件,首先创建一个窗口,然后在窗体上添加一个OLE控件,用OLE连接&nbsp;FLASH&nbsp;5的控件“SwFLASH.ocx”其具体作法如下:<br/>(1)选菜单"Cotrols&nbsp;|&nbsp;OLE",显示窗口"Insert&nbsp;object",选"Insert&nbsp;Control",在Control&nbsp;Tyle栏里找出"Shockware&nbsp;FLASH&nbsp;Object"(若该控件尚未注册,可先选"Register&nbsp;Now"对该控件进行注册);回到PB窗口,用鼠标点击安放此控件在窗口上并调整大小。<br/>(2)在编程中使用FLASH5.0的控件“SwFLASH.ocx”提供的主要属性:<br/>&nbsp;&nbsp;&nbsp;&nbsp;Movie属性:存放FLASH动画文件的URL's:在本机磁盘时写全目录名,或Internet上按浏览网页的地址,例如:f:\touch\start.swf。<br/>Quality(分辨率)属性:播放的分辨率,有0(low),1(AutoLow),2(Hight),<br/>3(AutoHight),4(Best)五个值&nbsp;。<br/>Scale属性:播放的屏幕,有0(ShowAll),&nbsp;1(NoBorder),&nbsp;2(ExactFit)三个值&nbsp;。<br/>&nbsp;&nbsp;&nbsp;&nbsp;Loop(循环播放)属性:true,&nbsp;false&nbsp;。<br/>menu(菜单)属性:true,&nbsp;false&nbsp;。<br/>(3)根据应用的需要进行编程,如在窗口的“open”事件中,设置“SwFLASH.ocx”控件的属性值,录入下述代码即可(或者在属性页填写):<br/>ole_1.Object.movie=“f:\&nbsp;\touch\start.swf”&nbsp;<br/>ole_1.Object.loop=true&nbsp;<br/>ole_1.Object.Quality=4&nbsp;<br/>ole_1.Object.Scale=2&nbsp;<br/>ole_1.Object.menu=true<br/>3.&nbsp;PB控制动画播放<br/>以上设置了控件的属性,在程序中只能单一播放已生成的动画文件(“*.swf”),PB不能对动画进行控制,若要PB控制FLASH动画播放,就需要使用“SwFLASH.ocx”控件的方法和事件。<br/>(1)利用控件的“Setvariable”方法可实现动态文本的显示,(例如在动画中播放一段文本“我爱FLASH”,更改为“我爱“PB”)。其作法如下:<br/>a)&nbsp;在FLASH动画中设置文本字段变量。<br/>在FLASH中选择动态显示的文本对象,在TextOptions面板中选择动态文本(Dynamic&nbsp;Text&nbsp;),设置成文本字段类型。然后在Variable输入字段变量名称为:“DispText”。在文本框中输入“我爱FLASH””<br/>b)&nbsp;在PB中运用方法。<br/>&nbsp;&nbsp;“Setvariable”方法的格式:setvariable(name&nbsp;as&nbsp;string&nbsp;,<em>value</em>&nbsp;as&nbsp;string&nbsp;)<br/>根据应用的需要编程,如窗体中放置一个按钮,在按钮的“Click”事件中编写<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;ls_disp<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_disp=“我爱PB”<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ole_1.Object.Setvariabel(“DispText”,ls_disp)<br/>c)&nbsp;运行程序,点击按钮,Flash动画中的“我爱FLASH”,就会变为“我爱“PB”。<br/>(2)利用“fscommand”事件,实现PB与FLASH动画的交互。(如用户在PB程序的一个窗体”w_start”中点击FLASH动画按钮,打开PB的另外一个窗口”w_Picture”),方法如下:<br/>a)&nbsp;在FLASH中设置按钮动作<br/>在FLASH中定义一个按钮,打开对象动作面板,点击Fscommand动作,Fscommand动作自动加入在on(release{}之中。Fscommand动作可用于传递信息给PB,其参数设定为:<br/>command(命令):picture<br/>Arguments(参数)&nbsp;:可根据需要选择,在此不设置<br/>在编辑窗口显示如下:<br/>on(release){<br/>fscomman(“picture”);<br/>}<br/>b)&nbsp;在PB中OLE控件的“fscommand(string&nbsp;command&nbsp;,string&nbsp;args)”事件中编程<br/>if&nbsp;command=”picture”&nbsp;then<br/>&nbsp;&nbsp;open(w_picture)<br/>end&nbsp;if&nbsp;<br/>c)&nbsp;运行程序,点击FLASH动画中的按钮,显示w_picture窗口<br/>以上只是简单的介绍了PB如何使用OLE控件"SwFLASH.ocx"控制动画播放的方法,在实际运用中,应根据实际需要,灵活使用控件实现PB与Flash动画的完美结合。</p>

zheng551 发表于 2008-4-14 11:52:46

<p>就想学这个~~~~</p>
<p>等装上了 就好好研究。。。谢谢楼主啊 咋没人顶内</p>
页: [1]
查看完整版本: [转帖]PowerBuilder实现FLASH动画播放

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com