普通のジグソーパズルゲームを書いています。便宜上、カスタム ビューを作成しました: PuzzleView extends ImageView
. オーバーライドするので、指でonTouchEvent()
動かせます。View
良い。
ただし、これらのビューを互いに近づけることに問題があるため、それらはそれ自体に収まります。パズルは正方形ではなく、その形状は次のようになります。
問題は、見栄えを良くするために、これらのビューを少しオーバーラップさせる必要があることです。しかし、四角形が重なっている場合、交差領域ではタッチ イベントが正しく機能しません。そのパズルを単純に の背景にPuzzleView
すると、そのうちの 4 つが次のようになります。
透け感があるので絞っても綺麗に見えます。しかし、タッチ イベントがあるため、これはお勧めできません。境界線をタッチすると、(z-index で) "高い" パズルがタッチされます。そして、おそらくユーザーはもう一方を手に取りたいのですが、できません。
Shape
Androidのクラスについて少し読んだことがあります。Shape
パズルがあれば素晴らしいと思います。それなら、それを背景として使用できます。その周りの長方形の領域ではなく、図形に触れたときにのみ表示されることPuzzleView
を願っています。MotionEvent
Shape
問題は、パズルの入手方法です。理想的には、自分の画像をポイントすると、Shape
その画像から取得した画像が表示されます。それが不可能な場合 (または非常に難しい場合) は、このパズルShape
をPath
で作成できるかもしれませんが、どうすればよいでしょうか? 形状が複雑すぎて使いづらいかもPath
?多分もっと簡単な方法がありますか?