资源描述:
《vb应用程序与flash动画的四条交互通道以及如何实现多媒体应用程序的vb与flash集成开发》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、VB应用程序与Flash动画的四条交互通道以及如何实现多媒体应用程序的VB与Flash集成开发-->Abstract:ThispaperintroducesfourunicateVBapplicationsovies,thendescribesacasetoshoedia;acromedia公司开发的Flash软件公认为是最好的交互式网页矢量动画设计软件。当然,Flash不仅被用来设计网页中需要的动画,而且也越来越多地应用于多媒体领域,例如交互式软件开发、产品展示、教学演示等方面。Flash格式的动画具有数据量小、
2、速度快、图像质量高、交互性强等特点,再加上Flash软件的易学易用,都使得应用Flash制作多媒体作品成为一种趋势。我们也看到,Flash软件更主要是专注于动画的设计,而一个多媒体应用程序很多时候需要进行较为底层的操作(如读取数据库),这时Flash包括其ActionScript就力不从心了。这里我们提出的解决办法就是,将专业编程语言VisualBasic与Flash集成在一起开发功能强大、界面漂亮的多媒体应用程序。2 VB与Flash集成开发的四条通道众所周知,安装了Shockedia公司提供的一个ActiveX
3、控件,因此JavaScript脚本或支持ActiveX的编程语言(如VB)都可以通过Shock(PercentasInteger) 按百分比缩放;●GotoFrame(FrameNumasLong) 将播放头移到指定帧。(2)当Shockand动作(Action)。只要Flash动画发出这个动作,就触发Shock-and事件。FSmand动作格式:FSmand{mand,Arguments}对应的VB事件申明:EventFSmand(ByValmandasString,ByValArgsasString)其中两个字
4、符型参数mand和Args都是由FS-mand动作传递过来的。因此我们可以编写事件响应代码,根据Flash的FSmand动作传递过来的mand和Args,在VB应用程序中完成相应功能。(4)VB的ShockeasString,ValueasString)这是向Action中的一个变量赋值:TCallFrame(TargetasString,FrameNumasLong)TCallLabel(TargetasString,LabelasString)这两个方法调用某个帧上的Action脚本代码。它们功能强大,不仅可以
5、调用主电影帧上的代码,还可以调用—个指定的电影剪辑中的某一帧代码。通过这四条通道,我们看到,不仅可以在VB的应用程序里播放控制我们的Flash作品,而且还可以在Flash动画中编写Action脚本代码来控制VB的运行。由此,实现了VB应用程序与Flash动画之间的完全交互和集成开发。VB与Flash集成开发多媒体应用程序也是通过这四条通道来实现的。3 [实例]项目成果多媒体演示系统3•1 制作Flash动画利用Flash5.0强大的设计工具,我们设计制作了多媒体演示系统的界面动画(图2)。Flash的F
6、Smand动作通过这样一个语句可以调用可执行文件(*.exe或*.bat):FSmand{“exec”,文件名}。而我们的演示系统则需要调用已经制作好的幻灯文件和一些其它文件(如AVI动画和MapInfo的工具文件),因此我们需要将Flash集成入VB中,利用VB强大的功能调用我们需要的演示文件。为了达到这一目的,就需要利用上面提到的第三条通道,在相应的按钮动作里增加相应的脚本语言。如在第一个项目“数字城镇体系规划”的“幻灯介绍”按钮和“程序演示”按钮动作中分别填入以下脚本代码:onrealese(){
7、 onrealese(){fsmand(″project1″,″slide″);fsmand(″project1″,″program″);}}其中mand参数表示项目名称,Arguments参数表示具体演示对象是幻灯还是程序。其它的-->按钮以此类推。动画制作完成,输出为Demo.sMacromedFlash中或在acromedFlash中找到它。我们把它作为一个部件添加入VB工具箱中(图3)。在主窗体上建一个Shocke为Flash1。在窗体的Load事件中添加如下代码:Flash1.Loop=Fal
8、seFlash1.Menu=FalseFlash1.Movie=App.Path+″demo.sand动作来触发VB相应事件代码,控制VB程序运行(通道3)。我们在主窗体上Shockand事件中添加如下代码:DimlRAsLongDimsFileAsStringSelectCasemand Case″quit″‘退出按钮 End Case″proje