2012-01-07 11 views
1

オンラインゲームの組み込み機能を置き換えるゲームアドオン/プラグインを開発しています。ゲームは.swfをロードするので、私の解決策も「ゲーム内」で動作するようにswfでなければなりません。ローカルXMLソケットサーバー(C#)を使用してローカル.swfから外部.exeを実行

のように私が作成しているカスタム.swfのボタンをユーザが押すことができるようになります。これは(とりわけ)外部アプリケーションを開きます。私。メモ帳に記載されているボタンがあれば、コンピュータ上のNotepad.exeが開きます。

私の最初の考えは、私がフラッシュで接続できるXMLソケットサーバー 'デーモン' runnning(C#)を持つことができたということでした - しかし、swfとデーモンの両方がローカルであり、 :

"Error #2010: Local-with-filesystem SWF files are not permitted to use sockets." 

これを修正するには、唯一の方法は - フラッシュのセキュリティ設定を変更することです - あまりユーザーフレンドリーではありません!

だから!私が他にどうやってこれについて行くことができるかについての考えは?私はあまり確かではありませんが、カスタムHTTPサーバーが(URLRequestに接続された)トリックを行うことができると考えていました。

+1

カスタムswfをAIRアプリケーションとしてパッケージ化する可能性については、http://www.adobe.com/products/air.htmlを参照してください。通常のswfを実行するよりも、はるかに許容度の高い実行時環境を提供します。 –

+0

それはゲームにロードされる.swfでなければならない問題です。私はAIRを使用したことはありませんが、私はそれが.swfの拡張ではないと推測します。 – Jonathan

+0

OK。あなたのカスタムswfをゲームswfにロードする場合、AIRは疑問から外れています、それは正しいです。その場合、外部の.exeを起動するのは難しいと思います。 .exeが開発したもので、エンドユーザーがインストールする必要がある場合は、.exeが処理するように設定されたカスタムプロトコルを登録することで可能になります。これは、ActionScriptからURLのように呼び出すことができます。 myapp:// command/start "などがあります。しかし、私はそれがうまくいくかどうか、私はそれを(フラッシュから)自分自身でテストしていません。 –

答えて

0

おそらく、に基づいてExternalInterface classを使用することができます。 fscommand functionもチェックできます。公式のチュートリアルでは、この技術をC/C++コードとの相互作用に推奨しています。

関連する問題