0

普通のジグソーパズルゲームを書いています。便宜上、カスタム ビューを作成しました: PuzzleView extends ImageView. オーバーライドするので、指でonTouchEvent()動かせます。View良い。

ただし、これらのビューを互いに近づけることに問題があるため、それらはそれ自体に収まります。パズルは正方形ではなく、その形状は次のようになります。

ここに画像の説明を入力

問題は、見栄えを良くするために、これらのビューを少しオーバーラップさせる必要があることです。しかし、四角形が重なっている場合、交差領域ではタッチ イベントが正しく機能しません。そのパズルを単純に の背景にPuzzleViewすると、そのうちの 4 つが次のようになります。

ここに画像の説明を入力

透け感があるので絞っても綺麗に見えます。しかし、タッチ イベントがあるため、これはお勧めできません。境界線をタッチすると、(z-index で) "高い" パズルがタッチされます。そして、おそらくユーザーはもう一方を手に取りたいのですが、できません。

ShapeAndroidのクラスについて少し読んだことがあります。Shapeパズルがあれば素晴らしいと思います。それなら、それを背景として使用できます。その周りの長方形の領域ではなく、図形に触れたときにのみ表示されることPuzzleViewを願っています。MotionEvent

Shape問題は、パズルの入手方法です。理想的には、自分の画像をポイントすると、Shapeその画像から取得した画像が表示されます。それが不可能な場合 (または非常に難しい場合) は、このパズルShapePathで作成できるかもしれませんが、どうすればよいでしょうか? 形状が複雑すぎて使いづらいかもPath?多分もっと簡単な方法がありますか?

4

2 に答える 2