parent.swf
加载
son.swf.在parent.swf中当击按钮
时,发送一个事件
,son.swf如何监听这个事件呢?
我想到的解决方法是,建立一个公共事件
没有数据的话 直接dispatchEvent(new Event("fuck"));
有数据的话提供一个接口比较好 因为使用自定义事件的话 即使是同一个事件类 在2个swf编译出来也是不同的
就比如 你自定义了一个OKEvent 然后在parent项目中使用他
并且在child项目中也使用他 那么当你企图在parent中发送一个FuckEvent给Child时 会发现这二者是不同的事件
event是比较好的方法, 这样也不会影响单个影片的伸展适应性
二个swf里都加单列类,就可以通过改变或添加属性来传递变量
as3的单例模式有两种实现方式
方式一:直接在构造函数里赋_instance值
package
{
public class MyClass
{
private static var _instance:MyClass;
public function MyClass()
{
_instance = this;
}
public static function getInstance():MyClass
{
return _instance;
}
}
}
方式二:常用的在getInstance()里根据需要才给_instance赋值
package
{
public class MyClass
{
private static var _instance:MyClass;
public function MyClass()
{
}
public static function getInstance():MyClass
{
if(_instance == null){
_instance = new MyClass();
}
return _instance;
}
}
}
单例类:
package com.tradow.errors
{
/**
* 类的单例,当第二次实例化时,抛出这个错误.
*/
public class InstanceError extends Error
{
public static const CONSTRUCTOR_ERROR:String = "ERROR: 只能实例化一次.";
public function InstanceError(message:String="", id:int=0)
{
super(message, id);
}
}
}
类InstanceEnforcer
package com.tradow.utils
{
import com.tradow.errors.InstanceError;
public class InstanceEnforcer
{
private static var num:uint;
public static function enforceConstructor():void {
num++;
if (num >= 2) {
throw (new InstanceError(InstanceError.CONSTRUCTOR_ERROR));
}
}
}
}
例子:
package com.tradow.event.mouse{
import flash.events.EventDispatcher;
import flash.display.DisplayObjectContainer;
import flash.events.MouseEvent;
import flash.ui.Mouse;
import com.tradow.utils.InstanceEnforcer;
final public class PressMouse extends EventDispatcher{
public function PressMouse(){
//只实例化一次
InstanceEnforcer.enforceConstructor();
}
public static function instance():PressMouse{
return new PressMouse();
}
}
抽象类:
package
{
import flash.errors.IllegalOperationError;
public class MyAbstractType
{
public function MyAbstractType(self:MyAbstractType)
{
if(self != this)
{
//这样就只有该类的子类中能传入当前实例的引用 抛出错误
trace("定义错误");
}
}
}
}
这时候如果 在外部 new MyAbstractType(); ,传入任何参数运行时都会抛出异常,只有在该类和该类的子类内部可以传入当前对象的引用,即 this。间接的起到了抽象类的作用。
package com.joshtynjala.abstract
{
public class MyConcreteType extends MyAbstractType
{
public function MyConcreteType()
{
//传入 "this" 来通过抽象类的检查
super(this);
}
}
}
发表评论
-
AS3 父SWF与子SWF之间传值
2011-02-20 15:19 2624FLASH中 父SWF加载子SWF并向子SWF传值在很多应用上 ... -
flash as3.0 被加载的swf 控制主swf文件触发事件
2011-02-19 14:48 3039比如有两个swf文件 1.swf,2.swf 1.swf ... -
一些很有创意的导航栏设计,给大家分享下。
2011-02-19 11:08 1584希望对各位同学有所帮助。啊哦………… 陆续完善i ... -
浅谈webgame游戏开发技术要点
2011-02-19 11:02 1012写这些只是想和大家交 ... -
aswing
2011-02-19 10:43 870AsWing是一套UI组件框架,纯ActionScript开发 ... -
as3加载外部XML文件
2011-02-18 19:50 1448加载过程如下: 1.使用URLRequ ... -
如何保护swf文件不被反编译软件破解?
2011-02-18 19:42 2187How to protect SWFs from decomp ... -
45度地图编辑器及游戏开发心得
2011-02-15 19:12 1469转载 这个编辑器是本人为公司项目专门开发 的一个功能比较齐 ... -
BulkLoader开源文件加载类
2011-02-09 22:10 1218BulkLoader是一个不错且使用简单的开源加载类, ... -
社区客户端开发技术总结
2011-01-29 22:57 863不管是什么样的项目,都会拆分成一个一个小的模块。最终实现都是些 ... -
“神之惩戒”--国内MMORPG游戏的困局1
2011-01-28 15:13 806《神之惩戒——MMOR ... -
adobe alchemy资料整理
2011-01-28 14:56 2441Adobe 自从2007年中推出了AS3支持 ... -
hitTest(BitmapData.hitTest 方法)
2011-01-25 18:14 1195public hitTest(firstPoint:Poi ... -
AS3使用外部SWF文件的库文件
2011-01-25 15:32 1473在swf文件中使用外部swf文件的库文件,从而达到类似素材 ... -
Flash摄像头游戏课件设计与开发
2011-01-25 11:07 1204[导读] Flash摄像头游戏课件设计与开发 ... -
AS3图像复制BitmapData.copyPixels()
2011-01-22 16:35 1947//舞台属性设置 stage.align ... -
ps样式介绍
2011-01-22 14:32 859PS样式就是效果的集合。“窗口”“样式”就可以打开样式面板。里 ... -
获取当前SWF的绝对路径
2011-01-20 19:22 1380首先 ,说明我测试的系统地址和网络地址的情况: 某电脑 ... -
PureMVC中观察者模式运用
2011-01-20 09:36 1295刚一个开始看PureMVC,一个字乱,摸不着头脑,不过这个要慢 ... -
获取当前SWF的当前路径
2011-01-19 20:00 1446首先 ,说明我测试的系统地址和网络地址的情况: 某电脑 ...
相关推荐
要使用JavaScript向SWF文件传递参数,我们首先需要理解SWF文件是什么,以及如何通过JavaScript与之交互。SWF是Flash动画文件的标准格式,虽然Adobe Flash已经被逐渐淘汰,但是仍有一些遗留系统或项目会使用到它。...
然而,有时我们需要向这些SWF文件传递参数,以便根据不同的条件改变其行为,例如进行版本管理。本文将深入探讨如何实现这一目标。 首先,让我们理解“版本管理”的概念。在软件开发中,版本管理是一种跟踪和控制...
SWF文件通常包含ActionScript代码,这是一种面向对象的脚本语言,用于控制和操作SWF内容。通过使用ActionScript,SWF可以与外部数据源进行通信,包括从CGI脚本接收的数据。 要实现这个过程,Flex开发者首先需要在...
这款工具的核心是基于Flash技术的SWF文件,它能够生成多种图表类型,包括柱状图、线图、饼图、散点图等,为用户提供了丰富的视觉体验。 在“fusioncharts及swf文件”这个主题中,我们主要讨论的是FusionCharts如何...
4. 编译与打包:修改后的源代码被编译为新的SWF文件,这个过程可能依赖于Adobe Flex SDK或其他AS编译工具。 5. 输出:生成的`jscam.swf`文件被保存并提供给用户下载,供其在网页中集成使用。 在实际应用中,这样的...
总结一下,实现".Net带进度条文件上传以及转换为SWF文件"涉及的主要知识点包括: 1. ASP.NET MVC或Web Forms的异步文件上传,使用AJAX和jQuery File Upload插件。 2. HTTP多部分请求的处理,跟踪和更新文件上传进度...
例如,你可能有一个按钮,当用户点击时,会从服务器获取最新的统计数据,并将这些数据传递给SWF文件,更新图表。 在实际应用中,为了简化这一过程,有许多库和框架可以帮助开发者更方便地实现SWF和JavaScript的集成...
1. 参数传递:通过URL参数传递数据给加载的SWF,实现动态配置。 2. 类型转换:使用`Loader.content`属性获取加载内容的实际类型,以便进行进一步操作。 3. 混合加载:同时加载多个SWF,管理加载队列,实现更复杂的...
这里我们将详细介绍如何实现这一目标,并涉及与SWF文件相关的HTML和Flash基础知识。 首先,SWF全称是"Small Web Format",是由Adobe Flash(原名Macromedia Flash)开发的一种文件格式,主要用于存储包含动画、视频...
5. **安全与隐私**:由于SWF文件可能存在安全漏洞,因此在线查看时需要确保服务器端的安全策略,避免恶意代码的执行。此外,尊重用户的隐私,不要在未经许可的情况下收集用户数据。 在提供的压缩包文件名...
2. **设置参数**:在HTML代码中,你需要指定SWF文件的路径、宽度、高度以及其它参数,如Flash版本和替代内容(以防用户没有安装Flash Player)。 3. **处理交互**:通过JavaScript与SWF对象通信,可以监听和响应SWF...
这里,我们设置了`flashvars`、`params`和`attributes`对象来传递参数给SWF文件,如播放器的宽度和高度,以及是否允许全屏等。 5. **Flash Player版本检测**:swfobject还会自动检测用户的浏览器是否安装了足够版本...
以上就是几种在Flash SWF文件之间传递值的方法。根据具体的应用场景和安全性考虑,可以选择适合的方式来实现。记住,始终要关注可能的安全风险,尤其是涉及跨域通信时。在实际项目中,确保对数据进行适当的验证和...
一旦定义了接口,你就可以在加载的SWF对象上调用这些方法,传递参数,实现交互。 此外,为了确保安全性和性能,Flex和SWF之间的通信可能会受到沙箱限制。通常,加载的SWF文件会位于不同的安全域中,这可能会影响...
SWF文件格式是互联网上常用的多媒体格式,适用于在线展示,如电子书、演示文稿和教程。下面我们将深入探讨这个主题。 **PDF与SWF的区别** PDF(Portable Document Format)是由Adobe公司开发的一种文件格式,用于...
这段代码定义了一个`<object>`标签,并包含`<param>`标签来传递参数,`<embed>`标签则用于非IE浏览器支持。 3. **C#代码处理**:在Asp.Net中,可以通过代码-behind文件(如.aspx.cs)处理这些控件。例如,可以动态...
1. SwfDotNet.IO.dll:这是一个可能的库文件,用于处理与SWF文件相关的输入/输出操作。SwfDotNet可能是一个针对.NET Framework的开源库,提供了读写SWF文件的能力。 2. log4net.dll:这是Apache的log4net库,是一个...
这涉及到进程管理和命令行参数传递,需要确保正确设置路径和参数。 4. **错误处理与日志记录**:在执行外部命令时,可能出现各种异常,比如命令找不到、权限问题、文件读写错误等。因此,我们需要编写适当的错误...
这个库能够帮助我们优雅地处理浏览器兼容性问题,同时提供了一种简单的方法来插入 SWF 文件并传递参数。下面详细介绍如何实现这一过程: 1. **引入 SWFObject**: 首先,你需要在 HTML 页面中引入 `SWFObject.js`...