分类分类
关注+2004-10-15作者:蓝点
Flash有非常突出的特点,文件小,画面质量高,可以随意缩放而不失真,支持交互性的设计等等,以上种种使得Flash 成为一种事实上的网络媒体的标准。按照Macromedia的一贯作风,保持不同产品之间的有机结合几乎已成为它产品开发的定式,Flash和Director的整合也不例外,这篇文章就谈谈这个问题。
所谓整合也就是不同软件间的沟通,简单的沟通,例如导入导出文件,Director支硈hockwave flash 文件的导入,可以以嵌入式导入,也可以以链接式导入。但是Director和Flash之间的整合远不局限于此,导入Director后的Shockwave Flash可以控制Director movie的播放和交互,反过来,Director movie也获得了对shockwave flash 的全面控制,这就给多媒体开发者以更多的选择,来扬长避短,发挥不同文件格式的各自优势。下面将要分几个部分来介绍Flash与Director整合的一些基本的应用。
Part I. Shockwave Flash 文件的导入
目前Flash 的最新版本是 5,而且同以前的版本相比, Flash 5在某种意义上可以说是革命性的升级,尤其对于 ActionScript的支持,已经完全具备了面向对象编程的能力,可惜的是即使是最新版的 Director 8也还不支持 Flash 5的格式,所以对 Director来说,只支持到 Flash 4的格式。如果你使用 Flash 5,在你输出 swf文件给Director 时请选择Flash 3,或 4格式,显而易见,新的ActionScript Director是不支持的,起码目前是这样,不过不要灰心,即使是 Flash 4的格式,可做的文章也不少了。
导入时,你可以从菜单File > Import 选择加入所需的swf文件,在弹出的对话框的最下面,有选项“标准的导入(也就是嵌入式) ” 或者“连接到外部文件(链接式)”,哪种方式导入取决于你的喜好和项目开发中的需要,通常如果 swf文件需要经常更新的话,我会采用外部连接式,这样只导入一次就可以了。另外一种方法从菜单 Insert > Media Element > Flash movies也可以导入 Flash文件,而且这种方法直接就显示多种选项供你选择来控制导入的 Flash 文件。下面是这个对话框的截图:
这个对话框很简单,英文也不复杂,我就不多解释了,需要了解的是:
好了,文件已导入,下面来看看Flash怎样和 Director之间互传信息。
Part II. 从Flash到 Director
也许你是初学者,导入Director 的Flash movie 可以控制Director, 这就给了我们绝佳的机会在Director里使用Flash 按钮,那么Flash 是如何传递信息给Director呢?事实上,常用的方法有三种, 都是利用Flash ActionScript里的GetURL指令,这个指令其实是非常多样化的, 可以用来控制浏览器, 传递javaScript 指令, 控制打印功能, 同时也是与Director沟通的重要通道,同时这个指令在各个Flash版本里都兼容。好, 我们就来比较一下这三种方法:
1. 传递一个字符串(pass a string)
最直接的方法就是写一个字符串在Flash 里, 然后传递给Director, 再由Director Lingo的特定句柄来接受该字符串作为指令参数,
下面的例子是一个Flash 按钮来控制Director的电影来其移动播放头到一个指定的帧, 我们用帧的标签(marker)来标记。在Flash里, 对按钮在舞台上的instance 应用ActionScript, 具体地说就是用GetURL这个指令, 当然这儿不是用来指向一个网址的, 而是用来和Director沟通。
这里我使用Flash 3中的截图,在GetURL的参数栏里填入 "section1"作为字符串,而这个字符串就是下图可见的Director 电影里的帧的标签名。
好, 来到Director 中, 从Score窗口可以看出有两个场景, 第一到第五帧是导入的shockwave Flash 按钮(非常小只有522bytes); 从第十五到第二十帧是另一场景, 你可以看到帧的标签“section1”. 你现在为一要做的就是写下下面的behavior 然后赋予给舞台上的flash 按纽。具体的语句如下:
on getURL me, flashString
go to frame flashString
end getURL
这里我们应用了lingo里预设的事件 "getURL" 来响应Flash 按钮被按下时所需执行的指令, "flashString" 就是需要传递给下一句 "go to"命令的参数。当然它可以任何的变量名字,只要它符合变量命的命名规则。
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论