- 浏览: 1466662 次
- 性别:
- 来自: 青岛人在北京
文章分类
最新评论
-
yhxf_ie:
azheng270 写道 永远是0知道答案了, inser ...
使用MySQL的LAST_INSERT_ID -
yhxf_ie:
insert了还是0... 可能还要设置些什么?
使用MySQL的LAST_INSERT_ID -
一如年少:
123123
Flex使用ribbit.com的服务给手机发送短信SMS -
pointdew:
poincare 写道您好,请教一个问题,如果我的 swf 文 ...
Flex:使用FlexPaper显示PDF文档 -
pointdew:
swf远程加载问题 : flexpaper无法加载http方式 ...
Flex:使用FlexPaper显示PDF文档
Flex加载Flash CS3制作的swf文件, 看Demo
package myflex { import flash.display.DisplayObject; import flash.display.Loader; import flash.display.MovieClip; import flash.events.*; import flash.net.URLRequest; import mx.core.UIComponent; /** * http://livedocs.adobe.com/flex/3/html/help.html?content=Working_with_MovieClips_7.html * * dispatch Event.COMPLETE when swf load complete. * dispatch HTTPStatusEvent.HTTP_STATUS when network is error. * dispatch IOErrorEvent.IO_ERROR when load swf error. */ public class ExternalSwfLoader extends UIComponent { private var loader : Loader; private var visibleAfterLoaded : Boolean; private var progressHandle : Function; private var loadSwfComplete : Boolean = false;; public function ExternalSwfLoader(progressHandle:Function = null, visibleAfterLoaded:Boolean = true) { super(); init(progressHandle, visibleAfterLoaded); } protected function init(progressHandle:Function = null, visibleAfterLoaded:Boolean = true) : void { this.visibleAfterLoaded = visibleAfterLoaded; this.progressHandle = progressHandle; unLoad(); } public function get content() : DisplayObject { if (loadSwfComplete) { return loader.content; } return null; } public function get movieClip() : MovieClip { if (this.content) { return this.content as MovieClip; } return null; } public function loadSwf(externalSwfUrl:String, progressHandle:Function = null, visibleAfterLoaded:Boolean = true) : void { init(progressHandle, visibleAfterLoaded); //"http://www.[yourdomain].com/externalSwf.swf" var request:URLRequest = new URLRequest(externalSwfUrl); loader = new Loader(); addListeners(loader.contentLoaderInfo); loader.load(request); if (visibleAfterLoaded) { addChild(loader); } } private function addListeners(dispatcher:IEventDispatcher) :void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); if (progressHandle != null) { dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandle); } } /** * load external swf successful. */ private function completeHandler(event:Event) : void { this.loadSwfComplete = true; this.width = loader.content.width; this.height = loader.content.height; dispatchEvent(new Event(Event.COMPLETE)); } private function httpStatusHandler(event:Event) : void { dispatchEvent(new Event(HTTPStatusEvent.HTTP_STATUS)); } private function ioErrorHandler(event:Event) : void { dispatchEvent(new Event(IOErrorEvent.IO_ERROR)); } public function unLoad() : void { if (loadSwfComplete) { try { loader.unload(); if (visibleAfterLoaded) { removeChild(loader); } loader = null; this.parent.removeChild(this); } catch (e:Error) { } loadSwfComplete = false; } } } }
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="250" xmlns:myflex="myflex" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#FBD6B5, #793503]"> <mx:Script> [CDATA[ import mx.controls.Alert; import myflex.ExternalSwfLoader; [Bindable] private var externalSwfLoader : ExternalSwfLoader; private var flashMovieClip : MovieClip; private var externalSwfUrl : String = "flashbutton.swf"; public function loadFlashSwf() : void { if (externalSwfLoader == null) { externalSwfLoader = new ExternalSwfLoader(); externalSwfLoader.addEventListener(IOErrorEvent.IO_ERROR, onIoErrorHandle); externalSwfLoader.addEventListener(Event.COMPLETE, onCompleteHandle); mainContainer.addChild(externalSwfLoader); } externalSwfLoader.loadSwf(externalSwfUrl); externalSwfLoader.setStyle("horizontalCenter", 0); externalSwfLoader.setStyle("verticalCenter", 0); } private function onCompleteHandle(e:Event) : void { try { if (externalSwfLoader.content != null) { flashMovieClip = externalSwfLoader.content as MovieClip; addListenersForMovieClip(flashMovieClip); Alert.show("Load swf successful. please click button in swf."); } } catch (e:Error) { Alert.show(e.message); } } private function onIoErrorHandle(e:Event) : void { Alert.show("IO_ERROR"); } private function addListenersForMovieClip(movieClip : MovieClip) : void { movieClip.addEventListener("EventGoTOParent", onTestEventHandle); } private function onTestEventHandle(e:Event) : void { Alert.show("get flash swf event!"); } public function sendTextToSwf() : void { try { if (externalSwfLoader != null && externalSwfLoader.content != null) { flashMovieClip.setMenu(flashtext.text); } } catch (e:Error) { Alert.show(e.message); } } ]] </mx:Script> <mx:ApplicationControlBar left="15" top="15" right="15" fillAlphas="[1.0, 0.11]" fillColors="[#B2B1B1, #FDFCFC]" cornerRadius="8"> <mx:LinkButton label="Load Swf" click="loadFlashSwf()"/> <mx:Spacer width="100%"/> <mx:TextInput id="flashtext" width="110"/> <mx:LinkButton label="Send text to Swf" click="sendTextToSwf()"/> </mx:ApplicationControlBar> <mx:Canvas id="mainContainer" top="56" bottom="10" left="15" right="15"> </mx:Canvas> </mx:Application>
参考
http://hi.baidu.com/ajamos/blog/item/70dca63b77e782ed15cecbc5.html
评论
2 楼
easonet
2009-04-04
测试了一下有两个问题不解
如何控制加载进来的SWF文件的尺寸呢?
private function completeHandler(event:Event) : void {
this.loadSwfComplete = true;
this.width = loader.content.width;
this.height = loader.content.height;
dispatchEvent(new Event(Event.COMPLETE));
}
改为
loader.content.width = 1024; loader.content.height = 768;
可以改变swf文件的尺寸,可是loader.content.width的单位好相关不是像素
不知道怎么转换的我709x359的FLASH被转换了152.25 和54
另外还有一个问题
private function onCompleteHandle(e:Event):void{
try{
if(externalSwfLoader.content!=null){
flashMovieClip = externalSwfLoader.content as MovieClip;
//这里得到的flashMovvieClip的结果为null 执行下条语句就报错了.
addListenersForMovieClip(flashMovieClip);
//
Alert.show("Load swf successful.please click button in swf.");
}
}catch(e:Error){
Alert.show(e.message);
}
}
不知道是不是我SWF文件的问题,能否帮忙看看,或者将这个DEMO给我发一份或者提供一下您调用的swf文件。
我的邮箱是easonet@163.com
谢谢。
如何控制加载进来的SWF文件的尺寸呢?
private function completeHandler(event:Event) : void {
this.loadSwfComplete = true;
this.width = loader.content.width;
this.height = loader.content.height;
dispatchEvent(new Event(Event.COMPLETE));
}
改为
loader.content.width = 1024; loader.content.height = 768;
可以改变swf文件的尺寸,可是loader.content.width的单位好相关不是像素
不知道怎么转换的我709x359的FLASH被转换了152.25 和54
另外还有一个问题
private function onCompleteHandle(e:Event):void{
try{
if(externalSwfLoader.content!=null){
flashMovieClip = externalSwfLoader.content as MovieClip;
//这里得到的flashMovvieClip的结果为null 执行下条语句就报错了.
addListenersForMovieClip(flashMovieClip);
//
Alert.show("Load swf successful.please click button in swf.");
}
}catch(e:Error){
Alert.show(e.message);
}
}
不知道是不是我SWF文件的问题,能否帮忙看看,或者将这个DEMO给我发一份或者提供一下您调用的swf文件。
我的邮箱是easonet@163.com
谢谢。
1 楼
hw--006
2009-03-12
有注释就更好了!
发表评论
-
Flex4中文视频教程 - RIAMeeting
2010-04-23 10:48 6862RIAMeeting翻译的Flex4中文视频教程, 地址 ht ... -
Flash Flex 开源游戏引擎
2010-03-28 21:18 7240今天去了 9RIA.com 的北京天地会活动, 会上介绍了一些 ... -
几十个 ActionScript 3.0 APIs for Flex, Flash, AIR
2009-12-22 11:54 4202开发过程中使用API可以节省时间,这里有几十个API,它们可以 ... -
Flex:使用FlexPaper显示PDF文档
2009-12-15 17:03 35488FlexPaper是一个开源的轻量级文档显示组件,被设计用来与 ... -
Flex白板画图例子
2009-06-21 18:56 8152这个程序是从公司2007年做的一个项目中抽取出来的部分代码完成 ... -
Flex使用ribbit.com的服务给手机发送短信SMS
2009-06-13 15:10 3132http://www.ribbit.com/ 可以将语音通 ... -
Flex鼠标移到Label上显示手型useHandCursor
2009-05-08 11:28 5677要想鼠标在Label上显示为手型,需要设置3个属性 & ... -
Flex3与EJB3的WebService通讯
2009-04-18 14:20 3754项目中使用了Flex3 + EJB3 + WebService ... -
CodeBehind and DI 分离MXML中的ActionScript
2009-04-09 20:27 2747你是否开始厌倦在 mxml 中写 <mx:Script& ... -
De MonsterDebugger开源的Flex运行时调试器
2009-04-09 15:53 4092De MonsterDebugger http://www. ... -
Flex组件中PopUpManager在全局坐标中心弹出窗口
2009-04-02 19:52 5056在Flex的某个组件中使用 var somePopupWi ... -
在JBoss4.2中放置crossdomain.xml解决flex3跨域访问WebService问题
2009-03-31 20:54 5768Flex访问部署在JBoss4.2上的WebService时报 ... -
使用Flex3的Import Web Service功能
2009-03-28 21:36 2529在FlexBuilder的菜单上选 Data -> I ... -
使用KitchenSync和CASALib延迟(delay)执行Flex的function
2009-02-25 18:26 3431要延迟(delay)执行Flex的function,或按顺序同 ... -
Flex中解决Error #2044 securityError
2009-02-25 16:54 6665在FlexBuilder中运行app没有问题,复制项目的 bi ... -
Flex视频教学 (RIAMeeting翻译Flex in a Week)
2008-12-01 00:03 4361此系列Flex视频教学是基于Adobe官方的Flex in a ... -
Flex中文API (Adobe官方)
2008-08-19 10:03 21541Adobe推出的中文API http://livedocs ... -
RIAMeeting - Flash Media Server 3
2008-07-26 22:08 3273这次是RIAMeeting的第七次 ... -
Mate Flex Framework
2008-07-22 11:29 3172Mate 是一个基于标签(tag-based)的事件驱动(ev ... -
RIAMeeting第六次活动
2008-05-25 19:52 1390RIAMeeting第六次活动迎来一位Adobe 的Air E ...
相关推荐
为了将Flash中的图形引入Flex,我们需要在MXML文件中创建一个SpriteVisualElement,然后加载library.swf中的苍蝇符号。这样,苍蝇就可以在Flex应用中显示和交互。 TweenLite的集成则需要通过引入其AS3库文件。在...
- **导入Flash资源**:在Flash CS3中制作完成的动画或图形,导出为SWF格式,然后将其添加到Flex项目的assets目录下。 - **在Flex中使用Flash内容**:在Flex的MXML文件中,使用`<mx:SWFLoader>`或`<s:SWFLoader>`...
`fl.*`类库是Flash Professional CS3中的核心组件,它们提供了用于图形绘制、动画制作、事件处理等多种功能的类。这些类对于创建复杂的交互式用户界面和动画序列至关重要。 当我们谈论"Flash CS3 中fl.*类库在 FB ...
9. **Flex应用部署**:讨论如何将Flex应用打包为SWF文件或AIR应用程序,并发布到Web服务器或桌面。 《Flex_QuickStart.pdf》可能是快速上手指南,会提供更具体的步骤和实例,帮助开发者快速了解和开始使用Flex 3.0...
- **AVM1Movie**:表示ActionScript 1.0/2.0中创建并已加载的SWF文件。 - **Bitmap**:用于加载和显示位图图像,并可以与BitmapData类结合创建自定义图像。 - **MorphShape**:用于形状补间动画,但在AS3中不能...
- **嵌入内容**:将资源直接嵌入到SWF文件中。 #### 五、基本运动 ##### 5.1 速度 - **向量和速度**:使用向量表示物体的速度。 - **一个轴上的速度**:只考虑单个方向的速度。 - **两个轴上的速度**:考虑X轴和Y...
- **嵌入内容**:将资源直接嵌入到SWF文件中。 ##### 4.7 本章重点公式 - 列举了本章中涉及的关键公式。 ##### 4.8 小结 - 总结了渲染技术在动画制作中的作用和实现方法。 #### 五、基本运动 ##### 5.1 速度和加...