这其实就是一个js调用as的一个实例。在html中动态控制swf文件的导入。
不多说了,代码入如下。(刚刚开始写东西,代码质量还是比较差的,呵呵,大家多提宝贵意见!)
需要注意的是,当js和AS通信的时候,要把文件部署到服务器环境,否则在IE7下面,会有错误提示。(至少我测试的时候是这个样子地!!)
Flex代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
initialize="init()" width="1000" height="800">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import flash.utils.Timer;
[Embed(source="./assets/loading1.swf")]
private var loading:String;
[Embed(source="./assets/close.png")]
private var closeicon:String;
var startTimer:Timer = new Timer(1000,1); //用户设定效果定时器
var endTimer:Timer = new Timer(5000,1);//用于设定结束定时器
function loadSwf(name:String):void
{
startTimer.reset();
endTimer.reset();
swfloader.visible=false;
startTimer.addEventListener(TimerEvent.TIMER_COMPLETE, startEvent);
endTimer.addEventListener(TimerEvent.TIMER_COMPLETE, endEvent);
swfloader.source="";
swfloader.source=name+".swf";
waitfun(loading);
startTimer.start();
endTimer.start();
}
function init():void
{
ExternalInterface.addCallback("myFunction", loadSwf);
}
public function startEvent(event:TimerEvent):void
{
swfloader.visible=true;
}
public function endEvent(event:TimerEvent):void
{
swfloader.visible=false;
waitfun(closeicon);
}
function waitfun(url:String):void
{
preloader.source=url;
}
]]>
</mx:Script>
<mx:Fade id="fadeIn" duration="500" alphaFrom="0.0" alphaTo="1.0"/>
<mx:Canvas x="0" y="0" width="100%" height="100%" backgroundColor="#FFFFFF">
<mx:SWFLoader horizontalCenter="0" verticalCenter="0" id="preloader"/>
<mx:SWFLoader showBusyCursor="true" x="0" y="0" width="100%" height="100%" id="swfloader" visible="false" showEffect="{fadeIn}"/>
<mx:Button label="dian" x="57" y="189"/>
<mx:Button x="57" y="236" label="Button" click="loadSwf('assets/123')"/>
<mx:Button x="57" y="266" label="Button" click="loadSwf('assets/test')"/>
</mx:Canvas>
</mx:Application>
html代码:
<html>
<head>
</head>
<script language="javascript">
function Button1_onclick()
{
var f1 = document.getElementById("myswf");
f1.myFunction("123");
}
function Button2_onclick()
{
var f1 = document.getElementById("myswf");
f1.myFunction("test");
}
</script>
<body>
<table>
<tr>
<td>sdfsdfssdf</td><td><input type="button" value="hello"onclick="Button1_onclick()"/><input type="button" value="hello"onclick="Button2_onclick()"/></td>
</tr>
<tr>
<td>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="myswf" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="1000" height="800">
<param name="movie" value="bank.swf">
<param name="quality" value="high">
<param name="wmode" value="transparent">
<embed src="bank.swf" width="1000" height="800" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent"></embed>
</object>
</td>
</tr>
</table>
</body>
</html>
分享到:
相关推荐
本教程将重点讲解如何在Flash中加载SWF文件,这是一项关键的技术,能够帮助开发者实现课件之间的交互性和资源共享。下面将详细阐述这一过程。 首先,SWF全称为"Small Web Format",是Adobe Flash的文件格式,用于在...
在AS3(ActionScript 3)中,调用SWF类库是一项常见的任务,尤其在构建可重用组件、模块化开发或者加载外部资源时。本文将深入探讨如何使用...通过学习这些示例,你可以更深入地理解AS3中加载和调用SWF类库的实际应用。
用于在flex中缓存加载swf文件。 可用于组件模块化加载。加载完成的组件,下次加载可直接从SWFCache中根据url获取相应内容,避免重复加载 单个加载方式 var item:SWFItem = new SWFItem(); item.url = "module/...
在ActionScript 3 (AS3)中,加载外部资源是创建动态、交互式内容的关键技能。资源管理器功能允许开发者高效地处理各种类型的媒体和数据,包括图片、SWF文件、声音、XML文档以及二进制文件。这些加载技术不仅提高了...
如果是矢量图形,你可能需要使用 `SWFLoader` 类来加载 SWF 文件,然后将其中的图形作为 Icon 使用。如果是位图 Icon,可以使用上述的 `Loader` 方法。此外,Flex 还提供了 `mx.controls.IconItem` 和 `mx.controls....
总结来说,"flex 嵌入完美Iframe"是指在Flex应用程序中通过AS3代码实现HTML Iframe的加载和交互,这通常涉及到SWFLoader组件、跨域策略、以及AS3与JavaScript的交互机制。而“CTICSIIFrame.as”很可能是一个封装了...
在"Tree与SWFLOAD"的应用场景中,SWFLoader被用来动态加载图片,这些图片可能存储在SWF文件中,或者作为单独的资源通过网络加载。当用户在树形结构中选择特定节点时,对应的SWFLoader会加载并显示相应的图片。这种...
这是因为AS3引入了`ApplicationDomain`类,它可以更直接地访问和使用另一SWF中的类和函数,无需预先定义。 **LocalConnection的优势与局限:** - **优势**:兼容性强,支持AS1、AS2和AS3之间的通讯。 - **局限**:...
在本示例中,我们将深入探讨如何在Flex应用中加载和展示由FlashPaper生成的Flash内容。 首先,我们需要理解Flex中的SWFLoader组件。SWFLoader是Flex SDK提供的一种用于加载和显示SWF文件(包括由FlashPaper转换的...
4. **动态加载和应用皮肤**:在Flex中,可以使用`SWFLoader`组件来加载外部的SWF文件,然后通过反射或者接口调用来获取并应用皮肤。这通常涉及到对ActionScript类的深入理解和对Flex组件API的熟练掌握。 5. **事件...
- **SWFLoader**:SWFLoader组件用于加载外部SWF文件,可以用于加载游戏资源,如背景图片、音效等。 - **进度条**:结合SWFLoader,创建加载进度条,提供更好的用户体验,显示资源加载状态。 5. **绘图技术** - ...
例如,通过OnLoad事件处理SWF文件加载完成,OnProgress事件跟踪加载进度,OnClick事件响应用户对SWF内容的操作。还可以通过API调用来访问Flash ActionScript的某些功能,尽管这可能需要对ActionScript有一定的理解。...
3. **编写代码**:在自定义控件中,使用SWFLoader的API来加载和播放SWF文件。 ```csharp using SWFLoader; public partial class FlashPlayerControl : UserControl { private SWFLoader.SWFLoader swfLoader; ...
在Flex项目中,可以使用加载SWF文件的类,如`SWFLoader`,将转换后的SWF文档加载到Flex应用程序中。首先,创建一个`SWFLoader`实例,并设置其`source`属性为SWF文件的URL: ```actionscript var swfLoader:...
在Flex项目中,创建一个SWF对象来加载AmCharts JavaScript文件。这可以通过在MXML文件中使用`<mx:SWFLoader>`标签实现,设置其`source`属性为AmCharts的JavaScript文件路径。例如: ```xml <mx:SWFLoader id=...
用来加载位图,需要将图片先导入FLASH,放在SWF类远见中。然后通过此类读取。
- **在Flex中使用Flash内容**:在Flex的MXML文件中,使用`<mx:SWFLoader>`或`<s:SWFLoader>`标签加载SWF文件,将其嵌入到用户界面中。通过设置`source`属性指定SWF文件的位置。 - **交互处理**:为了实现Flex和...