0

SWF と XML ファイルが同じフォルダーにある場合、ローダーが SWF の場所を外部ファイルの読み込みの開始点として使用するようにする方法はありますか (SWF が読み込まれる HTML ファイルとは対照的に)再生します)?Web サイトのグループをコピーしており、一部のパスには固有のページ コードがありますが、SWF が独自のフォルダーを参照するだけであれば問題なく動作します。:)

ありがとうございました!クリス

4

1 に答える 1

1

これを試すことができます。

var base:String = unescape( LoaderInfo( this.root.loaderInfo ).url ); // url of SWF

// now we need to remove the SWF name from the url
var lastSlash:uint = Math.max( this.base.lastIndexOf( "\\" ), this.base.lastIndexOf( "/" ) );
return( base.substr( 0, lastSlash + 1 ) );

SWF の URL を取得し、ループして最後の「\」または「/」を見つけて、swf ファイル名の開始位置を特定し、ベースを SWF のパスに等しく設定します。

そして、すべてURLRequestの相対を変更します

var url:URLRequest = new URLRequest( "assets/blah/blah/img.png" );

var url:URLRequest = new URLRequest( base + "assets/blah/blah/img.png" );

これは、文字列にアクセスするだけで、キャストやユニコードエスケープなどを繰り返し行わないように、アプリケーションクラスの静的プロパティとして追加するものです。起動時に一度実行し、変更されないため、静的変数としてスローするだけです。

(私はこれをテストしましたが、少なくともローカルでは動作します。ただし、Web からの URL で異なる動作をする理由はわかりません)

于 2013-04-22T23:49:26.110 に答える