0

FlashDevelop を使用して AS3 画像ギャラリーを作成しました。

アプリケーションを圧縮する前に、プロジェクトの index.html を開くだけで、ブラウザーで画像ギャラリーを実行できます。すべてが完璧に機能します。

次に、winrar を使用してプロジェクトを proj-0.1.2.zip として圧縮します。

次に、この新しく作成した zip を解凍し、上記のようにプロジェクト index.html を使用してアプリケーションをロードしようとします。ギャラリーが正しく機能しません。何が起こるかを見ると、画像のメタデータが存在しないように見えます (しかし、よくわかりません。以下を参照してください)。

壊れている他のアプリケーションもあります。動画が読み込まれません。アプリケーションが外部アセットに依存していなければ、すべて問題ないように見えます。

別のこと..その後、FlashDevelop プロジェクトをビルドし、swf を再発行すると、index.html で希望どおりに動作します。ここで何が起こっているのですか?

index.html を実行するだけで、すぐにデモ アプリを起動できるようにしたいと考えています。それが常に機能するとは限らず、SWF を再構築する必要があることを理解する必要がある場合、それはかなり悪いことです。

4

1 に答える 1

1

圧縮は問題ではないと思いますが、別のフォルダへの移動が問題だと思います。

この index.html を Web サーバーではなく、ローカル PC で実行していると思いますか?

デフォルトでは、Flash はローカル SWF からアクセスして他のローカル ファイルをロードすることはできません。ただし、FlashDevelop / Flash CS3 / Flex Builder では、この制限を回避するために、「この SWF は信頼できる SWF であり、ローカル ファイルを開くことを許可する」というフラグを Flash Player に設定します。ただし、これは SWF の正確な場所に基づいています。

コンパイラのどこかに、「この SWF はローカル データにアクセスできます」というフラグを SWF に設定する設定がありますが、ネットワーク リソースへのすべてのアクセスをブロックするという欠点があります。つまり、ローカル データにアクセスするか、ネットワーク リソース (HTTP、Socket などを経由するもの) にアクセスします。この設定がどこにあるのかわかりません。Flash CS3 のデフォルト設定が FlashDevelop のデフォルト設定と異なる場合があります。

とにかく、この問題をすべて回避する簡単な方法は、ファイルをローカルで実行しないことです。テストする前に、Web サーバーに配置します。

于 2010-05-15T00:08:40.257 に答える