



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Director与Flash在多媒体系统开发中的差异分析 摘要:Director和Flash两种软件都是在多媒体系统开发领域常用的工具,但是二者在开发过程中如何更好地协调配合使用却是一个值得关注的问题。本文介绍了两种多媒体开发工具Director和Flash的,讨论了二者在交互控制、数据库绑定等方面的差异。关键词:Director Flash 多媒体 系统 0 引言
2、60; Director、Flash这两种多媒体开发工具都是Macromedia公司在多媒体开发领域的拳头产品,它们与另一种开发工具Authoware并称为“多媒体三剑客”,然而Authoware由于其本身交互语言功能的限制,以及对视频、音频等多媒体素材的兼容上容易出错,当Macromedia公司被Adobe收购之后,一直没有官方的新版本出现,逐渐被冷落。而Director与Flash却依然如日中天,2008年初Adobe Director11与Adobe Shockwave Player上市,而Flash更是有:Adobe Flas
3、h 8 、Adobe FlashCS3、以及Adobe Flash Player8、9等多个版本在Adobe名下发布。本文将对Director 和Flash 在开发应用上的异同点进行探讨,使得用户能够充分发挥二者的优势并加以合理利用,从而提高多媒体系统开发的效率。 1 两种开发工具的开发方向 当前,许多www的站点以Flash作为系统开发的重要工具,制作诸如导航、菜单、公告等页面元素,另外,随着web2.0概念的提出,Flash
4、的“孪生兄弟”Flex成为了新兴的RIA(富互联网应用程序)系统的一个重要开发工具。但是,有得必有失,Flash因其小巧很快在互联网走红,但它所支持的多媒体资源有限,比如无法支持3D渲染,无法流畅支持高质量视频,这就使得系统的表现力大打折扣,因此,客观地说,Flash开发的系统更适用于平台,而要制作表现力更加强大、信息量更加丰富的桌面多媒体系统,还是要用Director来实现,Director凭借其海量的Xtras外挂程序的支持,优秀的内存管理调度能力,以及对3D资源的强力整合,能够非常轻松地实现复杂效果的设计过程,然而,Director的缺点也很明显,它所生成的发布文件以及所需的shockw
5、ave播放插件本身要比Flash大得多,因此虽然它支持网络发布的模式,但是它并不适合像Flash所创建的系统那样以B/S模式的姿态出现,受限于网络带宽,没有用户愿意花费大量的时间去在浏览器上等待一个未知数。故而Director更多的面向的是本地的产品展示或者C/S模式的多媒体系统客户端。 2 交互控制 2.1 Lingo、JavaScript与ActionScript Director和Flash都提供了功能强大的交互语言,Di
6、rector中可以采用Lingo与Javascript(Director10后新增)两种语言,Flash中只提供了ActionScript语言。相比较,Director的兼容性更好些,给用户的选择余地更多,因为Javascript拥有更多的用户基础,很多人在网站开发等相关项目中都或多或少地接触过它。而Lingo语言是一个典型的事件驱动编程语言,非常适合于多媒体交互系统的开发,但是它的用户基础相对薄弱,一般只有涉及Director多媒体开发才会使用到,所以可能一些用户使用起来需要一定的时间来上手。对于Flash中的ActionScript语言,最早出现在Flash 3中的ActionScript
7、 1.0语法冗长,主要的应用是围绕着帧的导航和鼠标的交互.这种状况一直保持到Flash 5. 到Flash 5版本时ActionScript已经很象JavaScript了。它提供了很强的功能和为变量的传输提供了点语法。ActionScript同时也变成了一种prototyped(原型)语言,允许类似于在javscript中的简单的oop功能。ActionScript的最新版本是ActionScript3.0,它不再只局限于制作Flash特效,更体现在对基于Flex的RIA(富互联网应用程序)系统的支持上,这些都使得ActionScript的地位与日俱增。 &
8、#160; 2.2 Director与Flash之间的信息传递方式 无论是Director中的Lingo,或是Flash中的ActionScript,它们都提供了与对方的接口,实现Director和Flash的相互控制。 2.2.1 Flash To Director的信息传递 在Flash中可以通过Geturl函数直接调用Director的Lingo命令,如
9、; on(rollover) geturl(“lingo:cursor?280“); on(rollout) geturl(“lingo:cursor?0“); 将上面的actionscript加在Flash按钮上,
10、然后将其导入到Director中就能实现光标的变换了。 使用Flash中的event命令,如:geturl?(“event:readtxt,”c.txt”,”dairy”) 上面的actionscript可以执行director中的影片脚本中的readtxt函数,并传递“c.txt”和“dairy”两个参数给readtxt函数。 2.2.2 Di
11、rector To Flash的信息传递: 在Director中控制Flash演员播放、停止等命令 sprite(FlashSpriteNum).play()播放Flash演员 sprite(FlashSpriteNum).stop()停止Flash演员的播放 类
12、似的函数有rewind()、gotoframe()等等,其详细的用法见前面的“控制Flash”。 使用getVariable函数来直接获取Flash演员中的值 getVariable(sprite FlashSpriteNum,“password”) 获取位于通道FlashSpriteNum中的Flash演员中变量password的值
13、 使用setVariable函数来设置Flash演员中的值 setVariable(sprite FlashSpriteNum,“password”,“admin”) 将位于通道FlashSpriteNum中Flash演员中的password变量的值设置为admin 3 数据
14、库绑定 客观地说,无论Flash还是Director它们对数据库的支持都十分有限, 以下对他们的连接数据库方式进行简要探讨: 3.1 Director的数据库常用连接方式: 3.1.1 使用列表(List) 每种语言都有存储一组数据的能力。在有些语言中,称为数组。在Director的Lingo里,叫做列表(List)。列表可以分成两类:线性列表(
15、1inear list)和属性列表(property list)。线性列表是指包含在单个变量里的一串数字、字符串或数据。如包含人名/电话号码的线性列表例子: myList="张三","85667788","李四","56453336","王二","86879996" 属性列表里的每个元素都包含一个属性名称和属性
16、值。下面是一个典型的属性列表: MyList=#name:"张三",#phone:"85667788",#employeSince:20001 在Lingo中尽管没有专门的数据库操作指令,但对于列表,Lingo提供了管理和操纵列表数据的命令。它们能在列表的开始或特定位置添加数据在列表的末尾增添
17、数据从列表中删除数据从列表的特定位置访问数据编辑列表中存储的数据对列表中的数据排序列表中的数据项的数量。因此,利用列表 list可以模拟实现数据库的功能。 3.1.2 应用第三方专业的数据库插件(Xtra) 针对Lingo语言在数据库操作方面的弱点。许多第三方厂商为Director专门设计了扩展其数据库功能的插件(Xtra)。它们的执行效率很高,封装性好,安装方便,有的可以跨平台使用。这些插件在Director和其暂时无法实现的功能之间架起了一座桥梁,为数据库功能的实现铺设了宽阔的大道,典型的插件主要有国外的D
18、atagrip、EasyDB、V12以及国内自主开发的ODBC、bitDBreader等。 3.2 Flash中的数据库常用连接方式: 3.2.1 利用ASP实现数据库连接 假如我们要用Flash做一个登陆界面,接受用户ID号,然后提交数据库查询,再返回其姓名,我们来看下如何实现。假设Flash端有一个按钮,ID号用变量"input"存储,返回的姓名赋给变量"output"。那么Flash
19、端的AS代码如下: on(release)load variables("searchasp?input=",0,vars=get) 这样,当在动画过程中这个按钮被点击并释放后,Input变量将被传递给searchasp文件,传递方式为get。下面看一下searchasp如何接受并返回处理的结果: dim userid /定义
20、变量 userid=request.form("input")/接收变量 set conn=-server.createobject("adodb.connection") /定义连接对象 set recordset=server.createobject("adodb.records
21、et") /定义记录对象 conn.open"user" /打开数据库连接的DSN /数据库处理程序 recordset.close conn.dose response.write("output="+server.urlencode("查询结果") /从asp向Flash返回结果 上面使用函数server.urlencode(variablenarne)来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 转让建房指标协议书
- 韦博门店转让协议书
- 阳光小院合伙协议书
- 部队厂房出租协议书
- 车棚承包合同协议书
- 住宅地下室物业协议书
- 公积金委托追缴协议书
- 让学生签安全协议书
- 餐饮代理加盟协议书
- 食品生产安全协议书
- GB/T 6974.3-2024起重机术语第3部分:塔式起重机
- 福建师范大学《生活中的科学》2023-2024学年第一学期期末试卷
- 通达信公式编写教程
- 当代国际政治与经济 期末复习课件高中政治统编版选择性必修一
- 2025届南宁二中、柳州高中高考物理二模试卷含解析
- 消防应急预案电子版
- 2.6.2数列求和公开课一等奖课件省赛课获奖课件
- 河南工业大学课件模板
- 【甲子光年】2024自动驾驶行业报告-“端到端”渐行渐近
- 公司道德和商业行为准则
- 江苏省常州市重点中学2025届高考历史三模试卷含解析
评论
0/150
提交评论