`
NewTamato
  • 浏览: 103150 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

转 深入Flash CS4编译技术

阅读更多

Compiled Clip和SWC File

Compiled Clip和SWC File都包含经过编译后的Flash内容,区别在于:一个是“Clip”,存在于库中;另一个是“File”,是独立的文件。

 

如上图所示,在为ActionScript导出的元件上点击右键,可以看到生成Compiled Clip和导出SWC File的选项。这里常见的误解是以为这个操作只会编译当前选择的元件,实际的情况是除此之外还会把库中所有第一帧导出的元件也一同编译进来。要确认 Compiled Clip或者SWC File中包含了些什么类,可以用闪客精灵等破解软件或者Flash Develop自带的SWC浏览工具来分析。

Flash CS4编译时获取类定义的顺序

 

Flash CS4中关于ActionScript类的路径设置共有三处,分别是:

  • Source path,就是放.as文件的地方。
  • Library path,包含SWC文件的路径。
  • External library path,也是SWC文件的路径,不过这个SWC中包含的类定义不会被编译到最终swf文件中。

发布swf文 件的时候,Flash编译器优先在Source Path中寻找是否有类定义。其次是Compiled Clip,最后是SWC和外部SWC。

如 果源文件中包含有Compiled Clip,则编译器还可以在Compiled Clip中寻找类定义。Flash自带的组件就是用了这种方式。

如 果源文件绑定了文档类,则该类必须能在Source Path或Compiled Clip中找到。SWC或外部SWC文件中即使包含了该类,也是无效的,编译器会自动生成默认的类定义来代替。

 

外部SWC文件的进阶用法

在进行模块化ActionScript/Flex项目开发的时候,灵活应用RSL(运行时共享库)来减少文件大小是非常重要的手段。这里面就要用到使用外 部SWC文件编译的技术。比如我们制作了一个module.fla文件,在发布选项里面勾选“Export SWC”,就会在发布module.swf文件的同时还生成module.swc。

 

 

接下来在其他模块中如何调用module.swf中的类定义呢?

通常我们采用默认的加载方式,module.swf是被加载到当前应 用程序域下的子域中。然后通过ApplicationDomain.getDefinition()方法来得到module里的类定义。

RSL 的做法是把module.swf加载到当前应用程序域 中,这样一来其他任意模块可以直接用类名访问到 module.swf中的类定义。

loader.load
(
new
 URLRequest(
"module.swf"
)
, new
 LoaderContext(
false
, ApplicationDomain.currentDomain
)

但是直接引用的类,必须是编译器找得到的。在满足我们不增加文件大小前提下的选择就只有使用外部SWC文件的方式。把module.swc加进外部 SWC路径中,编译正常通过,最终的swf文件中不包含module中的类定义。

这里要特别注意区分运行时编 译时 两种情境。编译时的类是通过外部SWC得到的。运行时的类则是从当前应用程序域中获取的。

至此我们可以看到 ActionScript 3和以前的加载方式有很大的不同,特别要熟练领会应用程序域的概念,让文件的划分更为合理,这在模块化开发中是十分重要的。

优 化编译速度

因为Compiled Clip和SWC File是编译过的,在最终发布的时候无需再次编译,所以能够加快编译的时间,这在类的数量非常大的时候很有用。在使用第三方类库的时候,也尽量使用 SWC File,还可以避免非程序员意外修改了源代码的情况。

此外如果你使用外部编辑器,如Flex/FDT/Flash Develop等,它们已经提供了很好的代码检查功能。我们可以在ActionScript设置对话框里面取消下面两个选项的勾选,这样也可以加快一点编 译速度。

 

 

 

 

分享到:
评论

相关推荐

    [转]flashCS4版本一个网站导航

    【标题】:“[转]Flash CS4版本一个网站导航” 这篇博客主要介绍的是使用Adobe Flash CS4创作的一个网站导航系统。在Flash CS4这个版本中,开发者可以利用其强大的动画和交互设计功能来构建动态且吸引人的网页导航...

    Flash Builder4与Flash cs4 协同工作

    《Flash Builder 4与Flash CS4协同工作深度解析》 在数字媒体和互动设计领域,Adobe的Flash技术一直是引领潮流的重要工具。Flash Builder 4(原名Flex Builder)和Flash CS4是两个针对不同侧重点的开发环境,它们在...

    flash cs4 牛年小牛

    《Flash CS4 创作牛年小牛:深入解析与技术分享》 在信息技术日新月异的时代,数字媒体创作工具如Adobe Flash CS4已成为设计师和动画制作者的得力助手。本文将以“Flash CS4 牛年小牛”为例,深入探讨如何使用这款...

    flash钢琴动画源程序 flash cs4+as3.0

    标题中的“flash钢琴动画源程序 flash cs4+as3.0”指的是使用Adobe Flash CS4这一版本的软件,结合ActionScript 3.0(AS3.0)编程语言开发的一个互动钢琴动画项目。Flash是一种广泛用于创建动画、交互式内容和网页小...

    flash cs4实现的五子棋游戏

    本篇将深入探讨如何使用Flash CS4结合ActionScript 3.0(AS3.0)开发一款五子棋游戏。 一、AS3.0语言基础 ActionScript是Flash中的编程语言,AS3.0是其第三个主要版本,相比之前的版本,AS3.0进行了大幅度的优化和...

    flash cs3 动画

    【描述】:“用Flash CS做的一段小动画和它的源代码”意味着我们可以深入研究动画的制作过程和技术。源代码通常指的是ActionScript 3.0(AS3.0),这是Flash平台上的脚本语言,用于控制动画的行为、交互和逻辑。AS...

    Flash CS3/4/5 中的内部调试信息的开启

    在Flash CS3、CS4和CS5中,内部调试信息的开启是开发和调试ActionScript 3(AS3)应用程序的重要功能。这个功能允许开发者获取更深入的错误报告,跟踪代码执行过程,以及优化性能。以下将详细介绍如何开启Flash中的...

    Flash cs6小游戏源码(记忆大师)

    2. **记忆大师(LOL版).swf**:SWF是Flash的编译输出格式,可以直接在Web浏览器中播放。这个文件是游戏的可执行版本,玩家可以通过浏览器或Flash播放器体验游戏。"LOL版"可能表示这个游戏具有与流行的电子竞技游戏...

    flash cs源代码

    4. `pelota2.swf`:SWF是Flash Player能够播放的文件格式,包含了编译后的ActionScript代码和所有资源。它是发布后供用户在Web上运行的最终文件。 5. `license.txt`:通常包含软件的许可信息,解释了关于使用、修改...

    中文版Flash CS3动画制作实用教程 素材源文件(下).rar

    《中文版Flash CS3动画制作实用教程》是针对Adobe Flash CS3这一经典版本的深入学习资料,特别适合初学者和有一定基础的动画制作者。该教程涵盖了Flash动画创作的各个环节,包括基本操作、图形绘制、时间轴管理、...

    Flashcs3弹出菜单教程及实例

    在本教程中,我们将深入探讨如何使用Adobe Flash CS3创建功能丰富的弹出菜单。弹出菜单在网页设计中起着至关重要的作用,因为它们能够提供简洁的导航方式,使用户可以轻松访问网站的不同部分。通过学习这个教程,你...

    as3+flashdevelop+flashCS4学习应用001 源码

    这个“as3+flashdevelop+flashCS4学习应用001 源码”资源提供了AS3编程环境的实践教程,帮助初学者了解和掌握AS3编程。 首先,AS3相比之前的版本AS2,具有更严格的类型检查、更高的性能以及更现代的面向对象编程...

    flash cs游戏源码

    【标题】"Flash CS游戏源码"涉及到的是使用Adobe Flash CS系列软件开发的电子游戏的原始代码。在早期互联网时代,Flash是制作交互式网页内容、动画和游戏的主要工具,因其轻便和广泛的浏览器支持而广受欢迎。Flash ...

    flash作业大学生作业成品简单课件初学者小动画采用cs6as2制作赠汪伦课件2019.5.rar

    这篇内容将深入解析《flash作业大学生作业成品简单课件初学者小动画采用cs6as2制作赠汪伦课件2019.5.rar》这一压缩包中的知识点,旨在帮助初学者更好地理解和掌握Flash动画的制作技巧。 首先,我们要了解的是Flash...

    <CitrusEngine系列教程三:使用flash cs 设计关卡>示例源码

    通过学习本教程的源码,开发者不仅可以掌握如何利用Flash CS设计关卡,还能深入理解CitrusEngine的架构和工作原理。这对于想要从事2D游戏开发,尤其是使用AS3和Flash技术的开发者来说,是一份非常宝贵的资源。在实践...

    简单的电子书翻页效果 Flash cs3 as2.0

    在IT行业中,创建交互式和...总的来说,"简单的电子书翻页效果 Flash cs3 AS2.0"项目展示了如何结合视觉设计和编程技术,创造出引人入胜的互动体验。这对于想要提升数字内容吸引力的开发者来说,是一个很好的学习案例。

    Flash Catalyst CS5 Bible 2010

    《Flash Catalyst CS5 Bible 2010》是一本全面介绍Adobe Flash Catalyst CS5的权威指南,对于希望深入了解和掌握这款软件的专业人士来说,无疑是一本极具价值的学习资源。Flash Catalyst CS5是一款交互式设计工具,...

    AS3+XML+flash cs3 网站源码

    `test.swf`是编译后的Flash影片,它是最终用户看到的可执行文件,包含了所有的动画、交互和程序逻辑。学习这个项目,你可以深入理解Flash和AS3如何与HTML页面结合,以及如何通过XML实现数据驱动的Web内容。 总的来...

    Flash作业荷塘月色

    《Flash作业:荷塘月色》是一份使用Adobe Flash CS5以上版本创作的交互式多媒体作品,主要展示了中国古典诗词中的“荷塘...通过对这些文件的深入探究,我们可以了解Flash创作的全过程,提升自己的数字艺术创作能力。

    flashpaper DefaultViewer2 反编译源文件

    《深入理解Flashpaper DefaultViewer2反编译源代码》 Flashpaper是一款由Adobe公司推出的文档转换工具,它可以将各类文档转换成交互式的Flash格式,便于在网络上传播和展示。DefaultViewer2是Flashpaper中的默认...

Global site tag (gtag.js) - Google Analytics