dポイントプレゼントキャンペーン実施中!

DOJA3.0をベースに、ドコモ携帯用iアプリゲームを作成中ですが、難問につまずきました。
DOJAには赤外線通信APIというものがあって、2台の携帯でデータやり取りが出来る・・・この機能を生かし、携帯電話2台を向かい合わせて二人で対戦するリアルタイムゲーム(スポーツや格闘モノなど。プレイ中相手方のキー入力状態を通信で絶え間なく監視するタイプのもの)を作ってみたいのです。しかし・・・
int op;
ServerObexConnection c=null;
c=(ServerObexConnection)Connector.open( //通信準備(サーバ側)
"obex:/irserver",Connector.READ_WRITE,true);
c.accept();


if (op==ObexConnection.DISCONNECT)c.close();

c.accept()(クライアント側はconnect)で赤外線ポートに通電したあとc.close()を実行するまでの間、ずっと「通信中」というダイアログが画面全体に現れ、描画キャンパスを覆ってしてしまいます。
セキュリティのため強制動作しているのでしょうが、これでは肝心のゲーム画面が全く見えません。

c.close()で通信を終えるとダイアログは消えゲーム画面が見えるようになります。しかし再接続すると、通信確認ダイアログが開きます。まさか1フレーム動作毎にダイアログを開いたり閉じたりというゲームを作るわけにはいかないでしょう。
対戦ボードゲーム(オセロや将棋など)の場合でも、一手打つたび毎回ダイアログを表示するソフトは実用にならないでしょう。

赤外線通信対戦ゲームのサンプルが載っている書籍のリストによると、ゲーム開始直後に通信でデータ交換をし、その後切断してプレイ終了まで再接続はしない、というものでした。
DOJAの通信は、もしかしてこれが限界なのでしょうか?ダイアログを非表示にする・うまくごまかす方法などはないのでしょうか。データ受け渡しスピードや精度は高かったので、ケータイは赤外線通信対戦リアルタイムゲームが作れる性能は充分と思うのですが・・

赤外線通信といえば、ゲームボーイの通信対戦ケーブルが無線になったようなもの・・・と思っていたのですが、そのようなアプリを作るのは無理なのでしょうか?

DOJA(または、携帯用iアプリ作成)の詳しいプログラミング情報交換ができる掲示板・携帯のデータ通信アプリ作成方法に詳しいWEBなどわずかな情報でもよいです。かなり悩んでおりますので、どうかよろしくお願いします。

A 回答 (1件)

DoJaでは赤外線での送受信時は「通信中」と表示されたままになるため、



> この機能を生かし、携帯電話2台を向かい合わせて二人で対戦するリアルタイムゲーム(スポーツや格闘モノなど。プレイ中相手方のキー入力状態を通信で絶え間なく監視するタイプのもの)を作ってみたいのです。
> 赤外線通信といえば、ゲームボーイの通信対戦ケーブルが無線になったようなもの・・・と思っていたのですが、そのようなアプリを作るのは無理なのでしょうか?

というのは無理です。
    • good
    • 0
この回答へのお礼

ありがとうございます。こちらでも色々調べましたが、無理なようですね。
(一部「2台の携帯で対戦可能」という謳い文句があるソフトはDoja以外の環境で作られている?のでしょうか??)
携帯電話なのに2台を使った対戦ができないのはつまらないので、いつか対応してほしいですね・・・

お礼日時:2008/05/26 22:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!