0

我试图让我的 SWF 加载器与一个数组一起工作,这样我就可以使用按钮通过一个代码调用我的 swf 文件。这是我遇到的问题:

场景 1,图层“动作”,第 2 帧,第 68 1067 行:将 Array 类型的值隐式强制转换为不相关的 String 类型。

我对数组、字符串或编码不太擅长,我不太确定问题出在哪里,我明白了,我的数组和我的字符串基本上不能一起工作,但我不知道怎么做修复它,如果它可以修复/使用我正在使用的代码。

只是一些帮助并被指出正确的方向将是一种享受

var swfList:Array = ["imagegallery.swf", "videoplayer.swf"];
var SWFLoader = new Loader;
var SWFRequest = new URLRequest (swfList) ;
SWFLoader.load (SWFRequest) ;


function loadSWF(file:String, container:MovieClip=null):void
{
if(container == null) container = MovieClip(root);


if(SWFLoader != null)
{
    if(SWFLoader.parent) SWFLoader.parent.removeChild(SWFLoader);
}

addChild (SWFLoader);
}

vidPlayer_btn.addEventListener (MouseEvent.CLICK, goVidPlayer);

function goVidPlayer (e:MouseEvent):void
{
loadSWF("videoplayer.swf");
}
imageGallery_btn.addEventListener(MouseEvent.CLICK, goImageGallery);
function goImageGallery(e:MouseEvent):void
{
loadSWF("imagegallery.swf");
}
4

2 回答 2

3

要访问数组中的项目,请使用以下格式:

var SWFRequest = new URLRequest(swfList[i]);

其中 i 是数组中的位置(从零开始)。例如:

var SWFRequest = new URLRequest(swfList[0]);

给出相同的结果:

var SWFRequest = new URLRequest("imagegallery.swf");
于 2013-02-05T17:42:12.863 回答
0

取消了数组,但仍然“两个按钮都有一个代码,而不是两个单独的代码”。

// Looks unnecessary
// var swfList:Array = ["imagegallery.swf", "videoplayer.swf"];

// Transfer inside loadSWF()
// var SWFRequest = new URLRequest (swfList); // needs a url String parameter
// SWFLoader.load (SWFRequest);

var SWFLoader = new Loader();  // Don't forget the parenthesis

vidPlayer_btn.addEventListener (MouseEvent.CLICK, goVidPlayer);
imageGallery_btn.addEventListener(MouseEvent.CLICK, goImageGallery);

function goVidPlayer (e:MouseEvent):void
{
    loadSWF("videoplayer.swf");
}

function goImageGallery(e:MouseEvent):void
{
    loadSWF("imagegallery.swf");
}

function loadSWF(file:String, container:MovieClip=null):void
{
    // What for?
    // if(container == null) container = MovieClip(root);

    if(SWFLoader != null)
        if(SWFLoader.parent)
            SWFLoader.parent.removeChild(SWFLoader);

    var SWFRequest = new URLRequest (file) ;
    SWFLoader.load (SWFRequest);
    addChild (SWFLoader);
}
于 2013-02-06T07:59:12.820 回答