2012-02-12 14 views
0

私はAndroid用のジグソーパズルアプリを作成しようとしています。私はコーディングにかなり遠いですが、私は一種の問題に悩まされています。Android - Puzzle Piece

私はビットマップをパズルピースの束に変える方法が必要です。私の現在のコードは画像を長方形にカットするだけですが、それはかなりうまくいきますが、より複雑なピース形状を作成する方法が必要です。

私はアイデアのカップルだった:

  • のみ黒と白の画素を含む個別のビットマップファイルを使用し、画像をカットするためにそれを使用します。私はこれをコード化するまで、これはかなり良い計画だと思った。どうやってそれをするのか分かりませんでした。
  • Pathオブジェクトを使用して境界線を作成します。これはおそらく動作しますが、私は片が互いに接続するように辺を追跡する方法がわかりません。

私はどんな提案にも開放的です。

答えて

0

複雑な図形の中に四角形や四角形を入れてみることもできます。複雑な図形を組み合わせることもできます。一致すると、四角形がその領域をカバーします。 9パッチのように、2つの辺が一致する場合、境界矩形を表示すると想像してください。

+0

しかし、その形は正三角形(90度のコーナー)でなければならないのでしょうか?だから私は丸い接続を持っていないでしょうか? – dkniffin

+0

いいえ、私はあなたのための写真を作って、図面を作るためのオンラインツールを見つけてそれを作っていきます。 – AlfredoVR

+0

皆さんが最後にやったことに関するコードがあれば、私はすべて感謝しています。ありがとう、[email protected]。 –

2

および/またはRegionを使用して、Bitmapを描画するときにCanvasのクリップを設定できます。

this exampleをご覧ください。あなたの図面をどんな形にもクリッピングするいくつかの方法があります。

+0

ありがとう!私はその前の例を見ていませんでした。リージョンは基本的にパスの内側部分ですか? – dkniffin

+0

まあ、私は '地域'は地域だと思います。さまざまな方法で入手できます。ブール演算を使用してパスを使用するか、他のリージョンを結合することにより、ユニオン、交差点など私は、私よりも説明的な例があると思う。 :) –

+0

ああ、ごめんなさい、みんな、...上記の答えでは、 "この例を見てください。あなたの絵をどんな形にもクリッピングする方法はいくつかあります。サンプルは現在開発者サイトから移動されており、実際には同じ種類のコードが必要ですので、「この例」の名前を教えてください。ありがとうございました。!!! – sai

0

これは明示的な解決策ではありませんが、ベジェ曲線またはパスを使用してxとyに沿って線を作成し、逸脱の量を制御するパラメータ(乱数を与えられます)直線とどのくらい特定の距離にあるか。ピクセル/インチ - これは、作品に舌を作成することです。 Regionを使用して、交点の指定された側で結果の形状を抽出します。形状オブジェクトがインスタンシエーション時に中心のxy座標を取得し、現在の座標が作成時の座標と一致しない場合、そのオブジェクトを設定できないようにします。

関連する問題