0

ASP.NET MVC Webサイト(Visual Studio IDE)のソース管理にSVNを使用し、小さなFlashアプリケーションを組み込んでいます。.FLAは約27MBですが、.SWF出力は約.3MBです。

設計者がソース管理で作業できるプリカーサー/レイアウト形式はありますか?

  1. FlashIDEの微調整ごとに27MBのバイナリファイルをコミット/更新しているわけではありません。
  2. 生のバイナリファイルバックアップに加えて、ソース管理からいくつかの利点が得られます(個々のバイナリイメージアセットがいつ変更されたかを知ることができるなど)。
  3. 寄稿者は、Flash IDEがなくても、ソースアセットとActionScriptファイルを表示できます。

理想的には、アーティストがデータを失わないように、プロジェクト内のすべてのソースを簡単に保持できるようにしたいと思います。必要に応じて、大きな.FLAファイルを外部SVNパスに保持します。これは、メインブランチではチェックアウトされませんが、一貫性を確保するために、表示されているアセットを参照するのが理想的です。すべての開発者がサイトをテストするために出力を必要とするため、最終出力をメインソースパスに保持します。

このドキュメントでは、FLAはソースファイルであると述べていますが、私が見ているのは27MBであるため、何かが足りないのではないかと思います。すべてのアセットも含まれているようです。

これらの2つの記事はいくつかの光を当てましたが、私の質問には答えませんでした: FlashSourceControl-ベストプラクティス .flaファイルを編集するための無料のFlashIDE

編集:ちょうどこれを見つけ、読んで...

4

1 に答える 1

1

リンクしたSVNオプションを実行したことがないので、それがどのように機能するかを確認してみました(私はあなたと一緒にいます、それは素晴らしいアイデアです)950kb(swfは20kb)のFLAを取り、すべてのオブジェクトを独自のxmlファイルにステージングし、合計ファイルサイズを2倍にしました(現在は2MB以上)。実行可能なflaも表示されません。元のファイルを参照している可能性があります...

とにかく、ここに私の提案があります。FLAは、タイムラインベースのアニメーションファイルであるだけでなく、そのファイルのローカルライブラリも格納します。したがって、あなたが言ったように、結果のSWFに使用されるすべての画像が含まれます。(フォントを除いて、使用するすべてのものが保存されます)最終製品は非常に小さいため、FLAには使用されていない大きな画像がいくつかあると想定します(ライブラリから削除します)。ベクトルベースのプログラムの場合、300kbはまだかなり大きいです。きっと、もっと小さくすることができます。イラストレーターやFlashforUIなどで描画されたベクターを利用してください。ラスター画像はファイルサイズを使い果たし、サイトの読み込みが遅くなります。

これが私がすることです:どんなテキストエディタでも簡単に見ることができる外部の.asファイルのすべてのactionscriptでflaを再編成します。(リストの3番目の項目を解決する)

画像やアートワークをflaから取り出して、動的にロードする場合は、リソースの数を評価します。XMLファイルをリンクして、アイテムをステージに動的にインポートし、それらが属する場所に配置することができます(これも減少します) swfのサイズ...リストの2番目の項目を解決している間)

ライブラリから不要なファイルを削除し、ステージにデータをインポートすることで、FLAファイルのサイズを大幅に削減できます。したがって、リストの最初の項目を解決します。

注意事項:外部の.asファイルを使用することは、Flash IDEを開かずにFlashファイルの機能を変更できることを意味するのではなく、IDEなしで何が起こっているかを確認できることを意味します。swfを公開すると、コードがswfにコンパイルされ、私が知る限り、実行時のコンパイルはできません(できることがわかった場合は、私が長い間試してきたb / cを知らせてください)。IDEに画像をインポートすると、Flash内にいるときは画像が表示されないため(ライブラリ内でflaサイズを大きくしている場合を除く)、画像をインポートして配置し、動的にインポートしてから削除することができます。 )。

私をswfにリンクする場合、またはflaを共有することが許可されている場合は、他の洞察を提供できる可能性があります。お役に立てば幸いです。

于 2012-09-05T16:27:28.430 に答える