0

SWFローダーを配列で動作させて、ボタンを使用して1つのコードでswfファイルを呼び出せるようにしようとしています。これは私が得ている問題です:

シーン1、レイヤー'アクション'、フレーム2、行68 1067:配列型の値の無関係な文字列型への暗黙の強制。

私は配列、文字列、または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");
}
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

配列を廃止しましたが、「2 つの別々のコードではなく、両方のボタンに 1 つのコードを使用」しています。

// 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 に答える