转自:http://blog.csdn.net/wangchibest/archive/2008/10/28/3164545.aspx
1> Flex 与 Flash 中的类对应关系
Flex 中的 UI元素 大都继承自 UIComponent类
UIComponent > FlexSprite> Sprite >DisplayObjectContainer>InteractiveObject >Displayobject
Flash 中的架构 (Sprite类的继承关系)
MovieClip > Sprite > DisplayObjectContainer > InteractiveObject >Displayobject
Flex 中无法直接使用Flash 中的MovieClip元件。只能通过工具 将Flash MovieClip 转成 UIMovieClip, UIMovieClip 继承自 MovieClip, MovieClip 类用于实现其使用方式与普通 Flex 组件一样的某个 Flash 组件的必要接口。因此,MovieClip 的子类可以用作 Flex 容器的子项或外观,它可以响应事件、定义视图状态和转换,还可以像所有 Flex 组件一样使用效果。
2> 进行转换所需要的工具。
(A)下载 Flex Component Kit 的地址。
https://www.adobe.com/cfusion/entitlement/index.cfm?e=flex%5Fskins
注册用户,登陆,选择最下面的 FLEX COMPONENT KIT FOR FLASH CS3 PROFESSIONAL 下载。
(B)要运行这个,你还需要Extension Manager, 下载地址: http://download.macromedia.com/pub/dw_exchange/extension_manager/win/em18_install.exe
(想放个图片在这里,不会,呵呵~~)
3> 下面开始将几种使用Flash MovieClip 的方式
<1>直接用 Load swf的方式
<mx:Script>
<![CDATA[
private function playAnimation():void
{
var flashContent:MovieClip = loader.content as MovieClip;
flashContent.gotoAndPlay(1);
}
]]>
</mx:Script>
<mx:VBox backgroundColor="#FFFFFF">
<mx:SWFLoader id="loader" source="CarRace.swf"/>
</mx:VBox>
<mx:Button label="Play Movie" click="playAnimation()" />
<2> 将swf 文件 Embed 进 Flex的方式(这种做法时,要将Flash的贞率调至 24)
<mx:Script>
<![CDATA[
[Embed(source="CarRaceAsSymbol",symbol="mcCarRace")]
[Bindable]
private var flashSymbol:Class;
private function playAnimation():void
{
var flashContent:MovieClip =
loader.content as MovieClip;
flashContent.gotoAndPlay(1);
}
]]>
</mx:Script>
<mx:VBox backgroundColor="#FFFFFF">
<mx:SWFLoader id="loader" source="flashSymbol"/>
</mx:VBox>
<mx:Button label="Play Movie" click="playAnimation()"/>
<3> 最常用的一种,用我们刚才下载的工具,将要导出的Flash MovieClip 编译为SWC,Flex 可以直接调用。
1.在 Flash Library 中选中我们需要的MovieClip, 选中Menu中的 Commands,选中Convert Symbol to Flex Component. 察看这个MovieClip的linkage属性,你会发现 这个MovieClip父类已经从MovieClip 变成了UIMovieClip.
2.这时,在FlashLibrary 中,选中这个MovieClip,右键-〉选择Export SWC File.(也可以直接从File Menu中选择 Publish) 导出SWC.
(我觉得更合理的做法是,自定一个基类,让这个要导出的MovieClip去继承,这样做法的好处是可以使得 这个MovieClip具有了一些自定义的行为,比如事件,如下代码里的做法,Flex 可以监听到 Flash MovieClip 内部的事件)。
package flashcomps
{
import mx.flash.UIMovieClip;
import flash.events.Event;
import flash.events.TextEvent;
[Event(name="start",type="flash.events.Event")]
[Event(name="finish",type="flash.events.TextEvent")]
public class CarRaceClass extends UIMovieClip
{
public function CarRaceClass()
{
super();
}
public function go():void
{
gotoAndPlay(1);
dispatchEvent(new Event("start"));
}
}
}
通过使这个 MovieClip 继承这个类,使得该类可以监听到Start 和 Finish的两个事件。
〈3〉Flex Project Menu-> Properties->Flex Build Path->Library Path 加入SWC存放的路径,(也可以直接将SWC 放到lib 文件夹里去,但这样不好,应该让引用的SWC在Flash的工作目录下,这样保证Flash 编译的时候,SWC也相应的编译)
这样:Flex 中可以 直接使用该组件了。比如:
<FlashComps:FlashCarRace id="race" x="100" y="100"/>
分享到:
相关推荐
通过使用`mx.controls.MovieClip`或`mx.controls.VideoDisplay`组件,可以轻松地在Flex界面中展示和控制Flash内容。 2. **ActionScript通信**:Flex和Flash都是基于ActionScript的,因此两者可以通过共享...
2. **SWF对象的嵌入**:在Flex项目中,可以通过`flash.display.MovieClip`类来嵌入Flash SWF文件,这样可以在Flex应用程序中播放Flash动画或者使用已有的Flash组件。 3. **ActionScript 3.0的同步与异步通信**:在...
在IT行业中,Flex是一种基于ActionScript 3.0和Flash Player的开源框架,主要用于构建富互联网应用程序(RIA)。本篇文章将深入探讨如何使用Flex来控制SWF文件,以及相关的关键技术点。 首先,SWF全称是Small Web ...
5. **动画和图形**:Flex支持使用DisplayObject类及其子类创建复杂的矢量图形和动画效果,例如MovieClip和Shape类。游戏中的角色移动、技能特效等可以通过这些类来实现。 6. **事件处理**:在游戏交互中,事件监听...
3. **Timeline Control**:在ActionScript中,可以使用`flash.display.MovieClip`类的`play()`、`stop()`等方法控制时间轴,实现动画播放。开门特效可能就需要通过控制时间轴来完成门开合的过程。 4. **Tweening...
FlashMX是Adobe公司于2002年推出的版本,它不仅强化了图形编辑功能,还引入了ActionScript 2.0,这是一种面向对象的编程语言,极大地增强了Flash应用程序的交互性和功能。FlashMX允许开发者创建丰富的互联网应用程序...
【标题】"dexinqing1_flash源码_" 暗示了这是一个关于使用Flash开发的项目,特别是与图片展示相关的代码。"Flash"是Adobe公司曾经流行的一种交互式动画设计工具,广泛用于创建丰富的互联网应用程序,包括动态图像...
在Flash Builder中,我们可以使用BitmapData类来处理图像,并通过draw()方法将图像加载到舞台上。 2. **事件监听**:游戏的核心在于鼠标操作,因此我们需要监听鼠标事件。使用Flash Builder,我们可以添加...
6. **与Flex框架的集成**:如果你使用Flex框架,可以将BitmapData对象与Flex的UIComponent或VisualElement结合,通过设置`source`属性来显示生成的PNG。 通过理解以上概念和技术,开发者可以在AS3中灵活地生成PNG...
在IT行业中,ActionScript 3.0(AS3.0)是Adobe Flash Professional和Flex Builder等工具中使用的一种编程语言,主要用于创建交互式内容、网页动画以及富互联网应用程序(RIA)。"Flash 时钟源代码 AS"是一个使用AS...
ActionScript 3是Adobe Flash平台的一种面向对象的脚本语言,主要用于开发Flash和Flex应用程序。随着Flash CS4 Professional的推出,许多设计师和开发者需要从ActionScript 2迁移到ActionScript 3。本指南为设计师和...
【Flash转盘抽奖程序】是基于ActionScript 3(AS3)开发的一种互动式应用程序,广泛应用于各种活动、促销和游戏中,为用户提供一种趣味性的抽奖体验。ActionScript 3是Adobe Flash Professional和Flex Builder等工具...
ActionScript 3是Adobe Flash Professional和Flex Builder等开发工具中的主要编程语言,它基于ECMAScript规范,具有强大的面向对象能力,使得开发者能够创建出功能丰富的交互式内容。在《丛林对打》这款游戏中,AS3...
AS3是Flash Professional和Flex Builder等开发工具支持的主要编程语言,提供了强大的面向对象特性,适用于创建动态内容和交互式应用程序。 首先,AS3的使用使得这款抽奖机具备了高效和灵活的特点。AS3的事件驱动...
【打汽球游戏flash as3.0 源代码】是一个基于ActionScript 3.0开发的Flash游戏,它提供了一种有趣的方式来学习和理解AS3编程语言的基础知识。ActionScript 3.0是Adobe Flash Professional和Flex Builder等工具中用于...
AS3是Flash Professional和Flex Builder等开发工具广泛使用的脚本语言,它为游戏开发提供了丰富的功能和高效的性能。 【描述】提到"这是一个在Flex下的TANK小游戏,总体来说比较完整了。总共有50个关卡。"这表明...
ActionScript 3.0是Adobe开发的一种编程语言,主要用于创建富互联网应用程序(RIA),特别是用于Adobe Flash和Adobe AIR平台。这个“ActionScript 3.0中文版chm帮助文档”是一个详细的学习资源,包含了该语言的全面...
ActionScript3.0是Adobe开发的一种面向对象的编程语言,主要应用于Flash Professional、Flex Builder等工具,用于创建交互式Web内容、游戏以及富互联网应用程序(RIA)。本资源为"ActionScript3.0中文版",提供了...