首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据从父swf传递给子swf

将数据从父swf传递给子swf
EN

Stack Overflow用户
提问于 2011-07-22 18:43:40
回答 2查看 1.4K关注 0票数 0

我有两个swf,A.swf和B.swf: B.swf是A.swf的孩子。每个swf都有自己的DocumentClass。现在:我必须从A.swf向B.swf的DocumentClass传递4个数组。哪种可能是最好的方法?在B.swf中使用监听器是个好主意吗?我注意到有可能通过查询字符串发送数据,但如果可能的话,我想避免这种解决方案。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-22 22:05:43

我不建议开始走单身者的道路。迟早,你会后悔的。(http://misko.hevery.com/2008/08/17/singletons-are-pathological-liars/)

相反,应使子swf的基类实现一个接口,该接口具有您要在其上设置的值的变量。一旦加载程序分派了完整的事件,就将swf转换为该接口,并简单地将变量设置为正常。

在这里查看示例http://flexdiary.blogspot.com/2009/01/example-of-casting-contets-of-swfloader.html。这是一个Flex示例,但如果您单击缩略图,然后右键单击电影并选择“查看源代码”,您将看到源代码。实现Blusher接口的Flash电影的源代码位于flashSrc文件夹中。

HTH;

艾米

票数 0
EN

Stack Overflow用户

发布于 2011-07-22 20:32:17

EventListeners解决方案

您有一些在A.swf和B.swf中都使用的GlobalEventListener ( http://en.wikipedia.org/wiki/Singleton_pattern )。

您有一个customEvent,它扩展了Event并可以发送数组。

代码语言:javascript
复制
package com 
{
import flash.events.Event;

public class TransferrArray extends Event 
{
    public static const TRANSFERRING:String = 'transferring';
    private var _array:Array;

    public function TransferrArray(type:String, array:Array, bubbles:Boolean=false, cancelable:Boolean=false) 
    {
        super(type, bubbles, cancelable);

        _array = array;         
    }

    public function get array ():Array
    {
        return _array;
    }       
}

}

在B.swf中的某个位置放入:

代码语言:javascript
复制
GlobalEventListener.addEventListener ( TransferrArray.TRANSFERRING, handleTransfer )
private function handleTransfer ( e : TransferrArray) : void
{
    e.array // <- do what you need with it
}

在A.swf中,当您的数组准备好传输时:

代码语言:javascript
复制
GlobalEventListener.dispatchEvent ( new TransferrArray ( TransferrArray.TRANSFERRING, [your,arrays,needed,for,b] );

直接解析

B.swf需要有( B.swf的主类)一些:

代码语言:javascript
复制
public function transferrArrays ( array : Array )

在A.swf中,加载B.swf并准备好传输阵列后:

代码语言:javascript
复制
BSWFLoader.content["transferrArrays"] ( [your,arrays,needed,for,b] );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6788856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档