簡體   English   中英

用數組調用swf,但無法在Flash中使用我的字符串

[英]calling swf with an array, not working with my string in flash

我正在嘗試使我的SWF加載器能夠與數組一起使用,以便可以通過一個按鈕使用按鈕來調用SWF文件。 這是我得到的問題:

場景1,“動作”層,第2幀,第68行1067:將Array類型的值隱式強制轉換為不相關的String類型。

我對數組或字符串或對tbh的編碼不太好,我不太確定問題是什么,我理解它,數組和字符串基本上不能一起工作,但我不知道如何修復它,如果可以修復/使用我正在使用的代碼。

只是一些幫助,並指出正確的方向將是一種享受

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

要訪問數組中的項目,請使用以下格式:

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

其中,i是數組中的位置(從零開始)。 例如:

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

給出與以下結果相同的結果:

var SWFRequest = new URLRequest("imagegallery.swf");

刪除了數組,但仍然“兩個按鈕都有一個代碼,而不是兩個單獨的代碼”。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM