fc2ブログ
 
■プロフィール

クリエイトウェーブ

Author:クリエイトウェーブ
開発における、諸々を書いていきたいなと思っています。
mail : info@createwave.jp

■最近の記事
■カテゴリー
■最近のコメント
■月別アーカイブ

■最近のトラックバック
■ブログ内検索

■RSSフィード
■リンク
LocalConnectionに今更びっくり
去年の暮れから、Flash案件は、ActionScript3 ばかりでした。

ちょっとした案件はActionScript2も、あるにはあったのですが、実に90%以上がActionScript3案件ばっかりだったので、今年は、このままActionScript3ざんまいの年になるんだろうか・・・と思いきや、ここにきて来ました!!

ActionScript2案件!! 大きめのやつ!!

で、いまリハビリ&設計模索中で色々調べているところです。
いや~、忘れてはいませんが(少し忘れかけ)、改めて組んで見ると、ActionScript2ってこんなだっけ?って思えるので不思議なものです。

もうすっかりActionScript3慣れしてしまっている。
ActionScript2が、非常に組みにくく感じます。

で、見逃していた、参考書やらネットで情報とか見てると、現在まで気付いてなかった手法とか、見つけてショックとか受けるところです。

その一つが「LocalConnection」

ロカール環境において、2つのFlashが、連携するための命令です。

片方のFlashが、片方のFlashに命令を送って連携させるというものです。
驚く事に、必ずしも両方のFlash形式がそろってる必要はなく、プロジェクタ形式(exe形式)とswfでもいいし、又片方はAirでもいいそうです。AirはActionScript3しか使えませんが、まさかActionScript2の時代から、こんな手法があったとは・・・・・絶句。

おそらく「.Net」や「Director」に取り込んだFlashでもいけるのでは、ないだろうか?

今まで、片方のFlashが「SharedObject」に保存して、片方のFlashが起動したら、そのデータを読みにいって処理したり、ブラウザアプリの場合は、javascriptとか介して処理してました。

くそ~~、もっと早く知っていれば!! という思いです。


使い方でが、たとえば、2つのFlaファイルを作るとしてます。

●命令を受信する方の1フレームのActionScript

myConnection = new LocalConnection ();
myConnection.connect ("testConnection");

myConnection.testFunction = function (str)
{
    trace (str);
};


受信側は、適当にコネクトの名前をつけて、connect しなければなりません。
ここでは「testConnection」 とつけています。

このtestConnectionに向けて送信側は送信するのです。


●命令を送信する方の1フレームのActionScript

myConnection = new LocalConnection ();
button_mc.onRelease = function ()
{
    myConnection.send ("testConnection","testFunction","テストで~す");
};

送信する方は、ムービークリップを一つおいて、インスタンス名「button_mc」をつけて、おしたら、もう一つのFlashに命令を送信しています。

気をつけないといけないのは
var myConnection:LocalConnection = new LocalConnection ();

とか

myConnection.testFunction = function (str:String)

とか型宣言をすると失敗します。

共有してるから型宣言出来ないってことなんでしょうね。

テーマ:Flash - ジャンル:コンピュータ

カテゴリー:Flash | TM(0) | CM(0)