これは、尋ねられた特定の質問への回答ではありませんが、コメントするには長すぎます。
問題は、フレックス コンパイラを AIR に含める方法ではなく、SWF 内のモデルとテクスチャが簡単にダウンロードされないようにする方法です。
まず第一に、100% 安全な答えはありません。SWF 形式は簡単に逆コンパイルできます (したがって、SWF ごとに 1 つのファイルを埋め込むことはできません)。十分に判断されれば、誰かがアプリケーションのメモリを調べて、必要なものを見つけることができます。これはすべて、簡単なコピーを停止することです。
最終目標がオンラインの 3D モデル ビューアーであると仮定すると、次のような方法があります。
1) 独自の形式を持つ
技術的には不可能ではありませんが、かなり厄介です。基本的に、モデルを保存および表示するための独自の形式を作成します (基本的に、ほとんどの 3D モデリング ソフトウェアが行うこと)。これは、誰かがモデル ファイルを手に入れたとしても、パーサーを書かない限り役に立たないことを意味します (当然、表示 SWF を保護する必要があります)。ビューアの目的が他のユーザーがモデルを購入することである場合、そのユーザーは使用できる形式でモデルを必要とするため、ワークフローは次のようになります。
共通フォーマットでモデルを作成 -> プレーヤーで表示するためにカスタム フォーマットに変換 -> ユーザーが参照して「購入」をクリック -> 共通フォーマット ファイルをダウンロード
2) サイトから 3D モデルを読み込む
最も簡単なオプション。画像をロードするのと同じように、モデルをサーバーから直接ロードするだけです。人々がファイルを直接ダウンロードするのを防ぐには、ファイルをhtdocs
フォルダーの上に保存し、フラッシュのローカル URI を介してアクセスします。したがって、サーバー ファイル システムは次のようになります。
- モデル
- htdocs
- index.html
- 3DPlayer.swf // 「../models/Model1」パスを使用してモデルを読み込みます
したがって、SWF のみがモデルにアクセスできます (技術的には、ファイルのダウンロードであるため、ブラウザーのキャッシュにある可能性があります。テストする必要があります)。実際にモデルをmodels
ディレクトリに配置するには、サーバーへの FTP アクセスが必要になるか、モデルをアップロードするための簡単なスクリプト (PHP などを使用) を作成する必要があります。
3) アセットを SWF にストリーミングする
既に述べたように、ColdFusion などを使用して、アセットを直接 SWF にオンデマンドでストリーミングできます。私は ColdFusion の経験がないので、これがどのように機能するかはわかりませんが、それほど難しいことではありません。
4) DB接続
モデルがテキスト BLOB として DB (MySQL や MongoDB など) に格納されていると仮定すると、SWF に直接接続するか、PHP と AMFPHP を使用してデータベースに接続し、その方法でモデルをストリーミングできます。
サーバー呼び出しを偽装できないようにセキュリティを実装する必要がありますが、接続して値を返す実際のコードはそれほど難しくありません。追加のボーナスとして、SWF 形式に縛られず、必要に応じて JS ディスプレイなどを実装できます。