今天折腾了一个多小时,关于 使用flex 调用swf。在网上找了好多,都没有找到解决办法,场景如下,如图所示,在图中,有一个墓碑,其中墓碑中的几个按钮都是集成在flash swf中的,而则个swf就是偶flex通过swfloader来引用的,当我点击某个具体的按钮的时候比如 Start adventure 按钮,会进入游戏,但是,这个点击事件总是引用不到,引用的这个鼠标点击事件是落在了墓碑这个swf上,而不是按钮的实例上,悲剧。后来查看了下,解决方式如下。
通过在swf中,即flashcs4 中,对动作代码片段做下处理就可以了。
比如刚才提到的Start 按钮,
btn_start.addEventListener(MouseEvent.CLICK,onMouseClick);
function onMouseClick(event:MouseEvent)
{
this.dispatchEvent(new flash.events.Event("start",true));
}
注意哦,这个事件在抛出的时候一定要把bubble 设置成true,否则flex中引用该swf的容器是捕获不到的哦。。
如此以来,就可以捕获到具体的按事件了。
flex代码如下:
main_panel.addEventListener(FlexEvent.CREATION_COMPLETE,callComplete);
private function callComplete(event : FlexEvent) : void
{
main_panel.addEventListener(GameEvent.EXIT_ACTION,callExit);
main_panel.addEventListener(GameEvent.START_ACTION,callStart);
main_panel.tombstone.addEventListener("start",callStart);
//var template : MovieClip = main_panel.tombstone.content as MovieClip;
// template.hello();
}
分享到:
相关推荐
在本文中,我们将深入探讨如何在Flex应用中调用SWF文件,并将其转换为特定的对象,而不仅仅是作为MovieClip处理。在Flex开发中,我们经常需要集成外部的SWF资源,例如库或自定义组件,这通常是通过ActionScript实现...
例如,要调用SWF中的公共函数,我们可以这样写: ```actionscript swfPlayer.content.myPublicFunction(); ``` 3. **控制播放**: `MovieClip`类提供了一些内置的方法来控制SWF的播放状态,如: - `play()`:...
本篇文章将深入探讨如何使用Flex来控制SWF文件,以及相关的关键技术点。 首先,SWF全称是Small Web Format,是Adobe Flash平台用于展示交互式内容、动画或应用程序的文件格式。在Flex应用中,我们经常需要动态加载...
ExternalInterface是Flex和SWF之间通信的一种方式,它允许ActionScript代码调用JavaScript函数。这种方式适用于SWF文件需要与HTML页面交互的情况。 #### 三、C#与SWF之间的通信 除了SWF文件之间的通信外,有时候...
在本文中,我们将深入探讨如何使用Adobe Flex调用Web Service来开发一个天气预报服务。Flex是一种基于MXML和ActionScript的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建交互性强、用户体验良好的...
在Flex开发中,有时我们需要加载并控制外部的SWF文件,比如实现自定义的播放进度条功能。这个场景常见于创建交互式应用或者多媒体展示。本文将深入探讨如何在Flex中实现对引入SWF文件播放进度的控制。 首先,我们要...
**Flex调用JavaScript** 在Flex中,要调用JavaScript函数,首先需要确保Flash Player允许与JavaScript进行交互。这通常在HTML嵌入Flash的代码中设置,例如: ```html <embed id="myFlash" src="myApp.swf" width=...
在Flex开发中,深入理解方法调用顺序是至关重要的,特别是在构建复杂的用户界面和应用程序时。Flex是一个基于ActionScript和MXML的开源框架,用于创建富互联网应用(RIA)。本篇我们将探讨Flex中方法调用的顺序,...
在本文中,我们将深入探讨如何在Flex应用中加载由ActionScript 2(AS2)编写的SWF文件,以及这背后的原理和技术细节。Flex是一种基于Adobe Flash Platform的开放源码框架,主要用于构建富互联网应用程序(RIA)。而...
这里的 `path/to/your.swf` 应替换为实际的 Flex 应用程序 SWF 文件路径。 4. **处理浏览器不支持 Flash 的情况**: `SWFObject` 还提供了一种方法来处理不支持 Flash 的浏览器,你可以提供替代内容: ```html ...
AMF是一种高效的数据交换格式,Flex SDK和 BlazeDS(一个开源的Java服务器)支持AMF,使得Flex应用能够方便地调用JSP提供的服务。 5. **系统拓扑图数据**:在JSP中,获取并处理系统拓扑数据,例如从数据库查询网络...
Flex调用Flash函数的机制与Flash调用Flex类似,也是通过`ExternalInterface`。在Flash中,我们需要定义一个可被外部调用的函数: ```as3 public function flashFunction(message:String):void { trace("Flash收到...
当我们需要在应用程序中重用或集成这些SWF资源时,就需要知道如何调用SWF中导出的类、按钮、MovieClips(MC)和图片。以下将详细介绍这一过程。 首先,要调用SWF中的导出类,我们需要确保该类在SWF文件中被正确导出...
5. **编译和运行项目**: 使用Maven的`mvn compile`命令,插件会自动调用Flex SDK的编译器将源代码编译为SWF文件。如果配置正确,生成的SWF文件应该位于`target`目录下。 6. **测试和部署**: Maven还可以帮助你执行...
总的来说,Flex调用Web服务的应用开发涉及到了客户端与服务器之间的数据交换、网络请求的发起和响应处理等核心技能。掌握这些技术,开发者可以创建功能丰富的Web应用,无缝对接各种后台系统,提供优秀的用户体验。
描述中提到的“从C#调用Flex的方法,或者Flex调用C#方法”,是指在实际开发中,我们可能需要在C#后台执行某些操作并更新Flex前端显示,或者从Flex界面上触发事件,使得C#能够响应这些事件。这种交互性是现代应用程序...
1. **嵌入Flash内容到Flex项目**:Flex项目可以嵌入SWF格式的Flash内容,这允许开发者在Flex应用中利用已有的Flash资源。通过使用`mx.controls.MovieClip`或`mx.controls.VideoDisplay`组件,可以轻松地在Flex界面中...
SWF是Adobe Flex开发的富互联网应用程序(RIA)的基础,它能够展示动态内容,如动画和交互式用户界面。 首先,让我们详细了解一下CGI如何工作。当用户在浏览器中输入URL并按下回车时,浏览器会向服务器发送HTTP请求...
通过Flex SDK,开发者可以创建SWF文件,这些文件可以在Adobe Flash Player或Adobe AIR环境中运行。 BlazeDS是Flex与Java集成的关键组件。它作为一个服务器端的库,嵌入到Java Web应用程序中,通常位于Web应用的WEB-...