


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PB中如何调用多个Director动画(深圳:独孤求败2003-05-26)(摘要:用PB作界面是十分方便的,用Diredtor作动画是非常容易的。怎样把两者给合起来呢?本文介绍了一种方法,使PB的应用程序能方便地调用Director的动画)一、概述PowerBuilder以下简称PB)是一个基于WindowsNT或Motif环境下面向对象的客户机/服务器(Client/Server)软件开发工具,用PB开发应用程序实际上是用各种不同的画笔(Painter)设计各种对象,每个对象完成相应的特定功能,然后用其编程语言PowerScript有机地调用它们,从而完成一个应用程序。Director是一
2、个功能强大、运用广泛、基于角色的多媒体开发工具,可用来制作动画,交互电影,市场营销展示等各种各样的多媒体产品.它能把文字、图形、图象、声音、动画、视频等各种多媒体项目数据汇集在一起。并可生成脱离Director环境直接在Windows下运行的可执行文件。现在市场上好多多媒体产品都是用Director制作的,如万事无忧、卡通英语乐园、十万个为什么等。利用Diredtor制作多媒体产品比较简单,对软件制作人员的要求较低,开发周期也较短,并且通过其编程语言Lingo编写脚本能使开发出来的多媒体产品具有很强的人机交互能力。二、问题提出用PB来作界面是非常方便的,但是用它作动画却不容易;用Directo
3、r作动画是非常简单的,但是用它作界面却不够理想。能否把他们结合起来:即用PB来作界面,用Director作动画,然后用PB调用Director动画?由于Director没有提供外部接口让其它应用程序来调用Director动画。有一个办法是把Director源文件都生成可执文件,然后用PowerBuilder的Run(app_name)函数去调用Director的可执文件。但因为Director的可执行文件比源文件大得多,所以这样做不仅浪费空间,而且也不易实现。三、主要步骤利用下面的方法,可以实现在PB中只需一个Director的可执行文件(假设为Temp.exe)就可以实现调用多个Direct
4、or动画。主要步骤是:1、用PB的应用程序用Run(Temp)函数调用Temp并给Temp专递一个参数,此参数假设为要播放动画的文件名;2、Temp运行后,根据PB传递的参数播放相应的动画;3、Director动画播放完毕,返回到PB的应用程序。四、具体实现和举例下图是用PB做的一个窗口(取名为Main),包含一个静态文本框st_1,两个按钮cb_1(确定)、cb_2(取消)和一个列表框lb_1.例子的功能:列表框中显示10个动画选项,用户选择任意一项,按“确定”按钮则播放相应的动画,动画播放完毕返回到Main。窗口Main的open事件的脚本为:intifori=1to10lb_1.addi
5、tem(动画+string(i)/给列表框加10项。next由于只用一个Director可执行文件Temp.exe,每次PB要播放动画时都用RUN(Temp),那么Temp.exe如何得知要播放那个动画呢?所以在PB调用动画时给Temp.exe传递一个参数是必需的。因为Director不能获取命令行参数,所以调用Temp.exe时采用命令行参数给Temp.exe传递参数已行不通。一个可行的方法是PB在调用Temp.exe之前把参数写到一个临时文件Filename.txt中,当Temp启动后,再从Filename.txt中去取参数。所以cb_1的Clicked事件的脚本为:intnintli_F
6、ileNumn=lb_1.selectedindex()li_FileNum=FileOpen(filename.txt,&StreamMode!,Write!,LockWrite!,Replace!)/打开文件filewrite(li_fileNum,d:engamam+string(n,00)/假设动画文件在“d:engam”目录下,文件名分别为am01.dir、am02.dir.am10.dirfileclose(li_filenum)st_1.text=正在启动文件,请稍候./给用户一个提示信息run(temp)st_1.text=请您选择:按钮cb_2的clicked事件的脚本:cl
7、ose(parent)列表框lb_1的doubleclicked事件的脚本:cb_1.triggerevent(clicked!)下面介绍文件Temp.exe的实现,Director本身没的提供有关的文件读写的函数,但是它可以调用外部的DLL(动态链接库),但它调用的动态链接库格式与一般的DLL有些区别,详细资料请参阅DirectorV4.0中Xobjecv。Director提供了一个名为Fileio.dll的动态链接库,它包含了一些有关文件操作的函数,可直接调用(更详细资料请参阅Director手册)。文件Temp的功能非常简单,只是从文件filename.txt中读取PB传递过来的参数(动画的文件名)。然后用PlayMoviefilename命令去调用以参数为名的Director动画即可,这个步骤可以在Temp文件中的Startmovie事件中(在Director中叫Handle而不叫事件)完成。程序如下:globalfilename,greadobjectonstartmovieOPENXLIBFILEIO/打开外部的动态链接库putfileio(mnew,read,ThePathName&filename.txt)intogreadobjectputgreadobject(mreadLine)intofilename/把filename.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软考网络应用实例分享试题及答案
- 微生物学期末试题及答案
- 网络工程师前沿技术应考试题及答案
- 影像科面试题及答案
- 无碳小车测试题及答案
- 篮球教资面试题目大全及答案
- 与动物的亲密接触话题作文(11篇)
- 机电工程安全管理试题及答案
- 软考网络工程师试题及答案新手指南2025年
- 公共政策与社区治理试题及答案
- 文言文18个虚词及文言文120个实词的解释
- 江苏省淮阴区2025届高三下第一次测试数学试题含解析
- 人工智能赋能教师数字素养提升
- C919机组培训-导航系统
- 药理学知到智慧树章节测试课后答案2024年秋哈尔滨商业大学
- 智能病历质控系统需求说明
- 山东省烟台市莱州市一中2025届高考数学押题试卷含解析
- 2023年高考真题-生物(辽宁卷) 含答案
- 叉车出租行业市场调研分析报告
- 专题02代数推理题(真题2个考点模拟16个考点)(原卷版+解析)
- 变压器维修投标方案
评论
0/150
提交评论