ホーム >> 左脳Script >> もちゃっと >> 作業日記 >> もチャット作成日誌:2010年6月28日~29日

もチャット作成日誌:2010年6月28日~29日


もチャット作成作業日記です。



2010年6月28日

いきなりマップフィールド部分から作り始める。 最初は、一面草原のマップで、時キャラが操作できる事を最低目標に。

アバターキャラクターのゴブリンを動かそう!
→とりあえず、マップの当たり判定をし、フィールドを動き回るキャラクターを作成できた。



2010年6月29日

複数キャラの表示と、キャラクター管理部分の体系化を目標に。 P2P通信部分の調査。出来れば実験レベルでの実装。

→「Stratus Developer key」で検索すると、かなりのページがヒットする。

ここが詳しい(というか説明が日本語)。
→参考:http://blog.katsuma.tv/p2p/

FlashでP2Pをするには、中継サーバーが必要。そのサービスは、βらしいがAdobeが提供しているようなので、 それに関するページ。
→参照:http://labs.adobe.com/technologies/stratus/

P2P中継サービスを利用するには、「Stratus Developer key」が必要。無償で取得できるらしい。
→取得ページ:https://www.adobe.com/cfusion/entitlement/index.cfm?e=stratus
AdobeIDがない状態だと、AdobeID取得からになるようだ。
adb_new_id.PNG
この表示の右側に、Adobe ID ログインフォームがある。

stratus_reg.PNG
入力項目に異常がなければ、そのまま「Stratus Developer key」取得へ移行する。

your_key.PNG
承諾すれば、「Stratus Developer key」を得られる。

後は、このキーでP2Pコードを書くのみ。


コードについては、FMSと同じように・・・と書かれているページが多い。困ったことに当方 FMS は未経験。見当もつかない。調べるしかなさそうだ。


private var con:NetConnection = null;

con = new NetConnection();
con.addEventListener(NetStatusEvent.NET_STATUS, onStat);
con.connect("rtmfp://stratus.rtmfp.net/取得したキー/");

private function onStat(e:NetStatusEvent):void 
{
    switch (e.info.code) 
    {
        case    "NetConnection.Connect.Success":    //  成功
            trace(con.nearID);
こんな感じで実行すると、64桁の16進数がトレースされる。
これが、クライアントのIDになるのだろう。


マルチキャストするには、グループという概念を導入する。これは Flash Player 10.1 からの(現時点で)最新の機能だ。 P2Pのノードネットワークの中に、ノードの纏まりを作りその纏まりの中でマルチキャストできる。という認識でよいのだろうか。
→参考:http://www.flashrealtime.com/simple-chat-p2p-netgroup-rtmfp/

Flash Player 10.1 の新クラス NetGroup を使おうとすると、エラーが出る。というか、オートコンプリートの一覧に出ないので、 ライブラリにすらない状態のようだ。
調べてみると、Flash Player 10.1 の新機能を使うには、Flash Player 10.1 に対応した playerglobal.swc が必要な模様。 対応の playerglobal.swc だけを探したがどうにも見つからず、途方にくれて昼寝。

http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4 から改めて Flex SDK 4系を落とす。落としたバージョンは、Flex SDK 4.1.0.16076 。
これには frameworks/libs/player/10.1/playerglobal.swc が存在した。

やっと見つけた playerglobal.swc を、開発中の Flahs Develop プロジェクト の lib に置いて Add To Library でプロジェクトに設置。 ようやく、新クラスを使ったコードでコンパイルが通るようになった。

このページを大いに参考にさせて頂いた。
→参考:http://cuaoar.jp/2010/03/netgroup.html

その結果、とりあえず動くレベルになった。

pear.PNG
起動すると、接続の確認を取られる。


それぞれの画面を中心にオバケが動き、クライアントが増えれば自動的にそのキャラを追加、 クライアントが接続を終えれば、自動的にキャラを削除する。
ghost3.PNG 全員同じ・・・

キャラクターデータは、http://uros.web.fc2.com/の物をお借りした。
ホームページのデザインセンスについてはシンプルで良いと感心するがどこもおかしくはないな。


P2P接続の割には、動きがぎこちなく重い。データ送信メソッドに post を使っていることが原因のようだ。
ひとまず、情報送信間隔が開いても、動きを保管するようにした所、それなりにスムースになった。
しかし・・・やはり遅延が大きい。0.5秒ほどずれる。さすがに、これは大きいので、別の方法を模索。

NetStreamマルチキャストで、sendを使うと生データを送れるらしいが・・・要調査。






トラックバック(0)

トラックバックURL: http://n-yagi.0r2.net/sanoupulurun/mt-tb.cgi/261

コメントする

ホーム >> 左脳Script >> もちゃっと >> 作業日記 >> もチャット作成日誌:2010年6月28日~29日

アーカイブ

このブログ記事について

このページは、n-yagiが2010年8月11日 21:30に書いたブログ記事です。

ひとつ前のブログ記事は「Flash P2P チャット 「モ(ンスター)チャット」」です。

次のブログ記事は「もチャット作成日誌:2010年6月30日」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。