director多媒体工具xtra特效插件介绍.doc_第1页
director多媒体工具xtra特效插件介绍.doc_第2页
director多媒体工具xtra特效插件介绍.doc_第3页
director多媒体工具xtra特效插件介绍.doc_第4页
director多媒体工具xtra特效插件介绍.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Xtra概述Xtra是Director非常重要的一个部分,没有Xtra的存在也就没有Director的存在,因此,了解Xtra的使用和操作方法显得至关重要。在具体讲解每个Xtra之前,我们有必要了解一些基础的知识。本章将主要介绍以下内容: 什么是Xtra Xtra的分类 如何使用Xtra 如何开发Xtra Director自带的Xtra简单介绍 如何发布Xtra一、什么是Xtra?Xtra就是为了适应Director功能扩展而开发出的第三方插件。Macromedia为其多媒体制作软件Director和Authorware都开发了Xtra 。Xtra 在开发上遵循一定的规则,所以同一个Xtra可以被Director和Authorware同时使用。Xtra的图标为,他的文件扩展名有两种,一个是x32,适用于32位操作系统平台;另一种是.x16,适用于16位操作系统平台,现在主要就是指Windows 3.X了。一个完整的Xtra的在Windows中外观如下:图1-1 “常规”选项卡在这里,我们可以知道该插件的文件类型,扩展名,大小等信息。注意,Xtra并不能直接用打开,我们只能调用Xtra中的函数实现相关操作。而不能象打开一个Word文档一样查看里面的内容。在“版本”选项卡下,我们可以看到以下内容:图1-2 “版本”选项卡从这里我们可以知道该插件的版本号、开发商、版权说明、语言等信息。虽然我们可以在Director中通过相应命令进行查看,但直接在Windows系统中查看也是一种简单的方法。注意,不是所有的Xtra都拥有“版本”这个选项卡,有的Xtra只能简单的浏览其“常规”属性。目前,国内外有很多个人和公司在开发Xtra,不断的扩大的了Director的运用范围和功能。其中有很多的免费的、可供大家自由使用的插件,也有很多收费的插件,且有着不低的价格。单单只是使用Director本身的功能,我们是无法制作出好的演示程序的,因为即使是最简单的演示,在发布的时候也要建立一个Xtra目录,或者直接将Xtra打包进行电影中,所以Xtra对于Director来说是必不可少的!即使是直接在Director中创建一个Text演员,创建一个Bitmap演员,这实际上也是在使用Xtra,只不过是在使用Director安装时自带的插件而已!二、Xtra的分类?对于Xtra的分类,依据不同的分类标准有不同的分类方法。但有一点是毋庸置疑的,即用于编辑状态下的插件和用于发布的插件。用于编辑状态下的插件在名称上有一个约定,就文件名中含有Options,例如:图1-3 用于编辑的Xtra这些插件只能在编辑状态下使用,即我们只能在打开Director程序后使用他,只能对当前电影进行编辑。当编辑完后需要将演示发布时就得需要使用和该插件相关的发布插件了。用于发布的插件其名称中含有Asset字样,如下图所示:图1-4 用于发布的Xtra举个简单的例子,对于上面的Cursor Option插件,他可以让我们在编辑状态下定义自己的光标,调用系统的各种光标形状等,但如果要发布演示,就需要将Cursor Asset插件和演示一起打包发布,而不用再附带上Cursor Options插件了。大多数第三方插件既可以用在编辑状态下,又可用在发布中。用于编辑和用于发布的插件在使用上几乎感觉不到差异,不需要特殊声明,在编辑状态下进行的操作或者编写的代码,到了发布时不用做任何修改和设置。Xtra的另一种分类方法就是依据操作系统平台进行。即用于Windows平台和用于Mactionsh平台的插件。本书中所使用的分类方法是根据Xtra的用途进行的。Xtra的诞生是源于不同的需要和运用场合,有的插件专门负责数据库操作,有的专门完成文件读取操作,有的专门读取操作系统的系统信息,有的专门用于视频播放控制,有的则属于多功能型。另一种分类方法是针对Xtra开发者而言的,包括针对Lingo脚本编程的Script Xtra、针对精灵的Sprite Xtra、作为使用工具的Tool Xta、转场类型的Transition Xtra。一般意义上只有在开发Xtra的时候我们才这么分类,其他时候很少用到。三、如何使用Xtra?Xtra在使用前,需要将他放置到Director的Xtras目录下以便Director能够识别。默认情况下,Xtras目录的位置是C:Program FilesMacromediaDirector 8.5Xtras。Director在启动时会对该目录下的插件进行检查和加载。如果发现有重复的Xtra,则会出现如下图所示的对话框:图1-5 Xtra重复提示对话框该对话框的意思是:在Xtras目录下发现了重复的Xtra,请退出后将其移除以避免冲突。这个时候我们就得去上面的Xtras目录下去手工查找重复的Xtra了。在Xtras目录下还包括许多的子目录,这些目录是Director程序在安装时创建的,我们可以把第三方插件复制到这里,也可以新建立一个文件夹,然后再放置自己的插件。这样,我们自己新建立的文件夹将以菜单形式出现在Director的Xtras目录下。如下图所示,我们自己建立了Lingo Bar、LINGO词典2.2版、buddyAPI中文帮助三个文件夹,对应到Xtras菜单中就是三个菜单项了:图1-6 定义自己的Xtras菜单注意:不是所有加入到Xtras目录下的内容都会显示在Director的Xtras菜单中。技巧一:由于各方面原因,我们经常会对操作系统进行重装,每次安装完Director后还得重新复制相关插件或者建立子文件夹。这里告诉大家一个技巧就是:可以在Xtras目录下建立一个到其他文件夹下快捷方式,我们可以在某一个地方收集自己的Xtra,重新安装完Director后只要重新创建一个快捷方式到Xtra目录下即可。技巧二:我们不仅可以在Xtras目录下放置标准的Xtra文件,也可以放置自己的dir、dxr和dcr文件。这样,在Xtras菜单下执行相应命令即可打开该演示文件。例如,上图中,在Lingo-BAR菜单下打开的就是Lingo-BAR演示。再在该演示中编写相关命令,就可以访问计算机上的任何文件了。Lingo词典就是这么运作的。上面,我们只是让Director意识到这个插件的存在,具体调用还得在Lingo中实现。接着我们先来了解以下几点内容:(一)查看Xtra列表图1-7 查看Xtra列表从图中我们知道,put the xtralist命令将得到当前系统中安装的所有Xtra列表。列表信息包括插件的名字#name和版本#version。提示:在这个Xtra列表中会显示所有已经安装过的插件,即包括重复安装的插件,仔细检查其中的插件名称就可以找到重复的插件,从而将其移除。(二)显示当前已经打开的Xtra的列表既然已经找到了重复的Xtra,我们可能会立即去删除他,但有时系统会弹出一个对话框提示该文件正在使用中,为什么呢?就因为该插件已经被Director打开了。执行下面的命令将显示有哪些插件已经被打开:图1-8 显示已经打开的Xtra列表这些Xtra就是当前正在被Director使用的插件的。对于正在使用的插件,有的在调用其中的函数时就不用再实现声明,直接写上相应函数即可,有的则依旧需要实现声明以生成插件的引用实例。如果希望Director放弃对上述插件的占有,可以使用closeXlib命令Director放弃已经调入内存的Xtra。(三)显示当前已经打开的Xtra的数量使用put the number of xtras命令可以知道当前Director已经Xtra的数量。这个属性只能读取而不能设置,即被开发者修改。(四)显示当前加载到电影中的Xtra我们有两种方法知道当前电影中已经打包包含了哪些Xtra。一种方法是使用Lingo命令,如下图所示:图1-9 显示电影已加载的Xtra这个命令消息的显示了电影已经打包到的Xtra,这也是一个电影需要用到的最少的Xtra,且是必须的Xtra,少了这几个最基本的Xtra,可能电影就无法运行了。另一种方法是直接在Director中查看,执行Modify-Movie-Xtras,这将打开如下图所示的对话框:图1-10 Movie Xtras对话框这个对话框以文件列表的形式显示了电影中加载的插件。我们可以单击Add按钮来添加更多的Xtra,可以选中一个Xtra后,单击Remove按钮将其从电影中删除,注意,不是从计算机硬盘上删除该文件。选中一个Xtra后,下面的Include in Projector和Downliad id Needed有时将会变得可选。Include in Projector就是将其包含到EXE播放机中,选中这项后就不用再在随播放机发布的Xtras目录下重新包含(复制)该插件了。Download if Needed就是在需要的时候从网络上下载。这个选项适合于那些可以在Shockwave方式下使用的Xtra。单击Info按钮将打开Macromedia的网站首页。提示:为了制作最小的播放机,我们采取的方法是制作stub projector。即将一个文件尺寸最小的dir文件打包为exe文件,然后通过go to movie命令调用其他尺寸(这里的尺寸指文件字节数大小)大的电影文件。为了得到这个文件尺寸最小的dir文件,我们不会在该文件中添加任何演员,并且将他包含的所有Xtra也删除。对于必须的Xtra,我们将其放置到和stub projector位于同一目录的Xtras目录下。因此,我们必须删除图1-10中所示的所有Xtra以得到尺寸最小的电影文件。Stub projector在启动时会加载所有位于Xtras目录下的插件。(五)深入了解一个Xtra上面我们了解了和整个电影相关的Lingo命令,针对某一个具体的插件,我们该如何了解他呢?针对具体的插件,我们主要通过Lingo来了解他。在Message窗口中输入下面的命令即可得到QuickTimeSupport插件的内部信息:图1-11 Interface命令其中,我们使用了Xtra对象的interface命令。Xtra后面扩展中的引号包含的就是具体某个插件的名称了,更改上面的QuickTimeSupport字符串为其他插件的名称即可得到其他插件的具体信息。通常,执行本命令会显示该插件的名称、版本号、函数名称和该函数的作用的解释。注意,这里引用的插件的名称和该插件在操作系统中显示的文件名是不一样的,例如,Director自带的Multiuser插件,其文件名为Multiusr.x32,而引用方式却是:put Xtra(Multiuser).interface()但是,我们究竟怎么样才能知道在用Lingo引用一个Xtra时他的名称呢?既不是他的文件名,也不是他的内部名称(在图1-2所示的“版本”选项卡下获得),也不能通过显示插件列表命令获得。这里告诉大家一个变通的方法就是:先将不知道引用名称的Xtra加载到电影中,执行方法是在图1-10中单击Add按钮进行添加,然后执行showxlib命令,这样,该Xtra究竟叫什么名字就原形毕露了。知道了插件的名称后,剩下的工作就是调用Xtra包含的功能或者执行相关鼠标、键盘操作了。这里,我们先对函数调用型插件进行范例介绍。一般而言,是使用一个插件前,要先创建一个该插件的对象实例,例如: set fileInstance = new(xtrafileIO)通过调用Xtra对象的new命令,我们就创建了一个FileIO插件的实例。所谓一个实例,相当了Director为该插件在内存中创建了一个调用他的句柄,或者一个新的内存空间,以后插件就在这块空间里施展自己的才华:根据入口参数输出出口参数供Director使用。为了编写更加严密的程序,我们还应该对创建的插件对象实例进行检测: if not fileInstance.objectP then alert 没有找到FileIO插件! exit end if另一种更加精确的方法是物理检测,即通过Xtra列表中是否包含该插件名称来进行判断,这里我们编写了一个函数,使用的时候只要指定Xtra的文件名即可:on checkForXtra xtraname repeat with i=1 to the number of xtras if the name of xtra i=xtraname then return TRUE end if end repeat return FALSE end使用举例如下:put checkForXtra(FileIo) - 1现在,我们就可以放心大胆的使用该插件中的函数了,例如执行下面的代码会弹出一个常见的“打开对话框”,同时,为了设置只能打开自己定义的文件类型,又调用了FileIO插件的setFilterMask函数设置文件过滤类型,然后再调用disPlayOpen函数弹出一个“打开”对话框。究竟FileIO插件是如何打开一个对话框的,我们就不用去考究了,因为这是Xtra份内的事情。Xtra就是这样,提供简单的接口(入口)参数,我们只要按照插件的要求设置好参数再进行调用即可,具体的实施由Xtra替我们完成。 setFilterMask (fileInstance, Text 文本文件,*.TXT) set fileInstanceName = displayOpen(fileInstance)为了形象的理解,我们可以将Xtra理解为一个个函数模块,被封装起来后供我们使用。打个比喻,Xtra就好像一个榨汁机,我们只要提供(即调用函数)相应的原料(即入口参数),例如桔子或者橙子,然后榨汁机开始工作,具体他如何工作我们可能看不见,但工作之后我们得到了可口的桔子汁或者橙子汁(即出口参数或者相应操作)。再添加一些其他原料,又可以得到其他味道的桔子汁和橙子汁。因为Director本身的功能是有限的,更主要的是为了减少代码编写量和重复开发,使用Xtra是个非常明智的选择。使用Xtra或者制作Xtra具有如下几点好处:1. 减少代码编写量;2. 实现代码复用;3. 对程序代码进行保护,防止代码被抄袭;4. 迅速扩大演示的功能;5. 减少演示制作工作量;6. 便于彼此间的交流;但由此对应的坏处可以概括如下:1. 购买Xtra需要支付相应的费用;2. 开发Xtra难度较大,需要了解操作系统和Visual C+开发语言;四、如何开发Xtra?开发Xtra需要同时了解以下内容:1. Director本身;2. MOA体系结构;3. 操作系统特性;4. Visual C+到目前为止,我们在Windows平台上开发Xtra使用的开发语言是Microsoft的Visual C+语言。Macromedia为其Xtra制定了一个体系结构:Macromedia Open Architecture(MOA),即Macromedia开放体系。对用户来说,Xtra是一种扩展工具,但对开发者来说,Xtra是通过Xtra Application Programming Interface(XAPI)应用程序编程接口生成的C语言对象模块。所有的Xtra API都是基于Macromedia开放式体系规则的。MOA定义了一个对象模块,并且制定了应用程序和扩展部分交互的标准方法,相关开发工作都要在这个基础上进行。要开发首先得了解上面所述的四点内容,然后可以从Macromedia的网站上免费下载到开发工具包XDK:Xtra Development Kit,XDK提供了开发者开发Macromedia产品的Xtra所需的资源。包括被Director支持的API所需的头文件,和一些不同类型的Director Xtra的开发实例。随XDK附带的有很详细的开发文档,有兴趣的朋友可以阅读。最新的XDK可以从下面的地址上下载到:/support/xtras/xdks/xdk.html具体如何开发一个Xtra已经超出了本书的研究范围,可以参考其他方面的书籍和资料。五、Director自带的Xtra简介下面我们对Director自带的一些Xtra进行一下简单介绍,其中,大部分是用于编辑制作演示的,少量的可以用在放映机中。功能强大的Xtra则会单独列出来放到后面的章节中进行精讲。1. ActiveX:即Control Xtra,只能使用在Windows上。因为ActiveX是和语言无关的,所以众多Visual C+、Visual Basic或者Delphi开发出来的控件我们可以直接拿来使用。ActiveX主要和操作系统接触融合的比较深,适合调用系统的一些功能。例如各种对话框、选项卡控件等。具体的讲解请看本书后面的章节;2. MacroMix:仅用于Windows,他使Director能够一次播放多个声音;3. Pshopflt:使我们能够为位图演员使用与Photoshop兼容的滤镜效果;4. Flash Asset:使我们能够把Flash电影作为演员导入到Director中,同时也是矢量图形演员的引擎;5. Havok:是针对Director的一个3D插件,他提供了我们访问模拟世界和进行交互的全套操作,具体的讲解请看本书后面的章节;6. ZipXtra:使我们能够创建和读取ZIP压缩格式的文件;7. RealMedia Asset:使我们能够使用RealMedia流媒体文件,包括RA、RAM、RM文件;8. Animated GIF Asset:使我们得以使用GIF演员;9. FileIO:使我们可以进行一些文件读取操作;10. Font Asset:使我们能够将字体文件以演员形式导入到Director中;11. Import Xtra for Powerpoint:使我们可以导入Powerpoint文件,他实际上就是把Powerpoint幻灯片中的各种元素导入到Direcotr中再使用;12. MUI:非常有意思的一个插件,使我们能够定义自己的对话框,具体的讲解请看本书后面的章节;13. SWA Xtra:使我们能够使用Showckwave声音文件,更主要的是他允许我们以SWA方式对声音文件进行压缩或者解压缩,对于制作大容量光盘的开发者来说这是个非常有用的插件;14. Text Asset:使我们得以在Director中使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论