2

ユーザーが画面に描画できるアプリを構築しています。ユーザー A がユーザー B の画面に描画できるように、ネットワーク機能を追加したいと考えています。私の現在の計画は、実際の UITouch またはネットワーク経由で送信されるメッセージに基づいて作成できる独自の UserOrNetworkTouch オブジェクトを持つシステムを構築し、アプリ内のすべての描画を UserOrNetworkTouch イベントに基づいて作成することです。 UITouch イベントよりも。

このシステムをもう 1 つ使用したいのは、タッチの記録です。これにより、ユーザーは「記録」を押して、後で描画を再生できるようになります。

ここで車輪の再発明をしないようにしたいと思います。これらの一部またはすべてを処理してくれるライブラリはありますか?

4

2 に答える 2

3

UITouchオブジェクトをネットワーク経由で送信することはおそらくないでしょう(ただし、必要に応じて送信することはできます)。位置を何らかの構造体にパッケージ化して、それを送信するだけで、送信していたトラフィックの量を減らすことができます。UITouch オブジェクト全体とそのすべてのデータが必要な場合は、オブジェクトをサーバーに送信してください。

フレームワークを使用CFNetworkして、クライアント アプリケーションからサーバーにデータを送信できます。その場合は、IPv6 を実際に使用するようにしてください。

Apple には、CFNetwork を操作するためのサンプル コードがあります。streams

タッチイベントを記録したい場合は、タッチが発生したときのタイムスタンプと一緒にタッチを保存したい場合はNSArrayまたはを使用してください。NSDictionary

次に、ユーザーが作成したときに、各タッチを配列または辞書に追加するだけです。

更新: Apple の WiTap サンプル コードで時間を無駄にするつもりはありません。以前に読んだことがありますが、単純なクライアント/サーバーアプリをすばやく起動して実行したい場合、混乱を招き、無関係なコードがたくさんあります。これまでにネットワーク プログラミングを行ったことがない場合は、非常に混乱する可能性があります。

最初にネットワーク転送が機能するようにします。次に、必要に応じて、Bonjour ネットワーキング部分についてWiTapを参照して、クライアントとサーバーの自動検出を行うことができます。ただし、Bonjour のサポートを追加するのは、データ ストリームが最初に機能するようになってからにしてください。

于 2010-08-29T16:58:48.960 に答える
0

開始するのに適した場所は、Apple のWiTap サンプルです。Bonjour でゲームをセットアップし、タップを前後に送信します。

また、ネットワーキングの一部をさらに簡素化する GameKit にも注目してください。

SQLite DB は、イベントを記録するのに最適な場所です。優れた Objective-C ラッパーの「fmdb」SQLite ラッパーを検索します。

于 2010-08-29T17:02:30.017 に答える