1

Androidでパズルゲーム「Looptheloop」(Fencesとも呼ばれる)を開発する予定です。これは基本的に、セルのn x m(n X m)行列で構成されます。各セルにはエッジとコーナー(ドット)があります。ルールは単純です。交差や分岐のない単一のループを形成するには、ドットの間に線を引く必要があります。セルに含まれる数字は、セルを囲む線の数を示します。ルールと試してみるには、Puzzle_LoopTheLoopを参照してください。

視覚的なnXm行列を作成するには、nXm行のグリッドレイアウトを使用することを考えます。各セルには、デフォルトの不透明度が0のボタンがあります。つまり、透明です。ユーザーがエッジをクリックすると、不透明度が1に切り替わります。つまり、ボタンが強調表示され、以下に示すようにエッジが選択されていることを示します。

エッジ、コーナー、セルとしてボタンを含むGridLayout

有効化/無効化のためのユーザークリック(タッチ)イベントの処理とは別に、イベントは周囲のセルにディスパッチされ、アクティブなエッジカウントを増減します。

私の質問は次のとおりです。1)グリッドレイアウトの選択は最良の選択ではないか、非効率的である可能性があります。これについてご意見をお聞かせください。2)エッジ処理でnXmを処理するためのより良いデータ構造を持つ他のAPI /ライブラリはありますか?3)エッジの場合、ImageButtonの方が適していますか?4)視覚的なパズル開発ではなく、このゲーム開発のための他の入力。これは、俳優がゲームエリアの任意の場所を占める通常の2Dゲームとは非常に異なるためです。5)この投稿が特定のフォーラム/ウィキなどの他の領域に投稿されるべきかどうかを教えてください。

ご入力いただきありがとうございます。

4

1 に答える 1

1
  1. 通常、Android用のゲームはCanvasとOpenGLを使用して設計されていますが、アプリは高いグラフィック処理能力を必要としないため、実装できます。しかし、私の意見では、独自のマトリックスフレームワークを使用すると、より快適に制御および管理できます。

  2. このためのAPIがあるとは思えません。デフォルトでは、Androidにはマトリックスクラスがありますが、これは主にビットマップ処理に使用されます。グリッドはここであなたの目的を果たします。

  3. 繰り返しますが、独自のフレームワークを作成していない場合は、imageButtonが目的を果たす可能性があります。描画可能な画像が異なるチェックボックスも使用できます。

  4. 質問が理解できません...

  5. アイデアはありません、私も新しいです...

于 2012-10-28T11:05:51.087 に答える