`
steely816
  • 浏览: 130109 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

主swf与子swf文件的参数传递

阅读更多

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);

    }

}

}

分享到:
评论

相关推荐

    javascript向flash swf文件传递参数值注意细节

    要使用JavaScript向SWF文件传递参数,我们首先需要理解SWF文件是什么,以及如何通过JavaScript与之交互。SWF是Flash动画文件的标准格式,虽然Adobe Flash已经被逐渐淘汰,但是仍有一些遗留系统或项目会使用到它。...

    网页给swf传递参数的方式【可以用于版本管理】

    然而,有时我们需要向这些SWF文件传递参数,以便根据不同的条件改变其行为,例如进行版本管理。本文将深入探讨如何实现这一目标。 首先,让我们理解“版本管理”的概念。在软件开发中,版本管理是一种跟踪和控制...

    CGI 传递参数给SWF (flex)

    SWF文件通常包含ActionScript代码,这是一种面向对象的脚本语言,用于控制和操作SWF内容。通过使用ActionScript,SWF可以与外部数据源进行通信,包括从CGI脚本接收的数据。 要实现这个过程,Flex开发者首先需要在...

    fusioncharts及swf文件

    这款工具的核心是基于Flash技术的SWF文件,它能够生成多种图表类型,包括柱状图、线图、饼图、散点图等,为用户提供了丰富的视觉体验。 在“fusioncharts及swf文件”这个主题中,我们主要讨论的是FusionCharts如何...

    自定义宽高像素的jscam.swf文件生成工具

    4. 编译与打包:修改后的源代码被编译为新的SWF文件,这个过程可能依赖于Adobe Flex SDK或其他AS编译工具。 5. 输出:生成的`jscam.swf`文件被保存并提供给用户下载,供其在网页中集成使用。 在实际应用中,这样的...

    .Net带进度条文件上传以及转换为SWF文件

    总结一下,实现".Net带进度条文件上传以及转换为SWF文件"涉及的主要知识点包括: 1. ASP.NET MVC或Web Forms的异步文件上传,使用AJAX和jQuery File Upload插件。 2. HTTP多部分请求的处理,跟踪和更新文件上传进度...

    swf文件结合javascript的统计图

    例如,你可能有一个按钮,当用户点击时,会从服务器获取最新的统计数据,并将这些数据传递给SWF文件,更新图表。 在实际应用中,为了简化这一过程,有许多库和框架可以帮助开发者更方便地实现SWF和JavaScript的集成...

    单个SWF文件loading加载详解

    1. 参数传递:通过URL参数传递数据给加载的SWF,实现动态配置。 2. 类型转换:使用`Loader.content`属性获取加载内容的实际类型,以便进行进一步操作。 3. 混合加载:同时加载多个SWF,管理加载队列,实现更复杂的...

    怎样在html页面中播放flash动画.swf文件.png

    这里我们将详细介绍如何实现这一目标,并涉及与SWF文件相关的HTML和Flash基础知识。 首先,SWF全称是"Small Web Format",是由Adobe Flash(原名Macromedia Flash)开发的一种文件格式,主要用于存储包含动画、视频...

    swf 在线查看

    5. **安全与隐私**:由于SWF文件可能存在安全漏洞,因此在线查看时需要确保服务器端的安全策略,避免恶意代码的执行。此外,尊重用户的隐私,不要在未经许可的情况下收集用户数据。 在提供的压缩包文件名...

    內部嵌入SWF檔

    2. **设置参数**:在HTML代码中,你需要指定SWF文件的路径、宽度、高度以及其它参数,如Flash版本和替代内容(以防用户没有安装Flash Player)。 3. **处理交互**:通过JavaScript与SWF对象通信,可以监听和响应SWF...

    在jsp中播放swf视频

    这里,我们设置了`flashvars`、`params`和`attributes`对象来传递参数给SWF文件,如播放器的宽度和高度,以及是否允许全屏等。 5. **Flash Player版本检测**:swfobject还会自动检测用户的浏览器是否安装了足够版本...

    flash swf之间传值

    以上就是几种在Flash SWF文件之间传递值的方法。根据具体的应用场景和安全性考虑,可以选择适合的方式来实现。记住,始终要关注可能的安全风险,尤其是涉及跨域通信时。在实际项目中,确保对数据进行适当的验证和...

    Flex控制swf简单源码

    一旦定义了接口,你就可以在加载的SWF对象上调用这些方法,传递参数,实现交互。 此外,为了确保安全性和性能,Flex和SWF之间的通信可能会受到沙箱限制。通常,加载的SWF文件会位于不同的安全域中,这可能会影响...

    pdf转swf的软件

    SWF文件格式是互联网上常用的多媒体格式,适用于在线展示,如电子书、演示文稿和教程。下面我们将深入探讨这个主题。 **PDF与SWF的区别** PDF(Portable Document Format)是由Adobe公司开发的一种文件格式,用于...

    一个基于C#+ Asp.Net实现的Web网页嵌入运行 SWF File 的程序例子

    这段代码定义了一个`<object>`标签,并包含`<param>`标签来传递参数,`<embed>`标签则用于非IE浏览器支持。 3. **C#代码处理**:在Asp.Net中,可以通过代码-behind文件(如.aspx.cs)处理这些控件。例如,可以动态...

    jpeg2swf示例(asp.net,c#)

    1. SwfDotNet.IO.dll:这是一个可能的库文件,用于处理与SWF文件相关的输入/输出操作。SwfDotNet可能是一个针对.NET Framework的开源库,提供了读写SWF文件的能力。 2. log4net.dll:这是Apache的log4net库,是一个...

    PDF转成SWF代码

    这涉及到进程管理和命令行参数传递,需要确保正确设置路径和参数。 4. **错误处理与日志记录**:在执行外部命令时,可能出现各种异常,比如命令找不到、权限问题、文件读写错误等。因此,我们需要编写适当的错误...

    html嵌入flex swf

    这个库能够帮助我们优雅地处理浏览器兼容性问题,同时提供了一种简单的方法来插入 SWF 文件并传递参数。下面详细介绍如何实现这一过程: 1. **引入 SWFObject**: 首先,你需要在 HTML 页面中引入 `SWFObject.js`...

Global site tag (gtag.js) - Google Analytics