試行錯誤 10 (ジグソーパズル)
このブログを始めた時に
「1日1記事書こう」d(・∀・*)
と決めていたのですが、1日空いてしまいました。
と言っても、ここしばらく日付をまたぐことが多かったのですけど。。
ブログ用に、過去にObjective-Cで書いたコードをSwiftで書き直しているのですが、とてもいい勉強になります。
が、今回は配列内の要素を弄るところでつっかえてしまって、どうにも先に進めず...orz
止むを得ずちょっとだけ、書けるところまで書いてみますm(__)m
ジグソーパズルは、以前から作ってみたいものの一つでした。
「春の縁側」では、3段階のピースの数に挑戦できるようにしてみました。
ここでは4×4の16ピースのものを作ってみたいと思います。
原型となる絵です。(Illustratorで描いています。)
これを、Illustratorで周囲に凹凸をつけた状態で分割しておきます。
遊ぶ時にわかりやすように、周囲に縁取りの線をつけています。
画面上でピースを組み立てる台も用意します。
「ピースをあるべき位置(正解の位置)に持ってきた時」という判定を、どのようにしようかとしばらく悩んだ覚えがあります。
ジグソーのピースは周囲に凹凸があったりなかったりするので、ピースの形に関係なく判定ができるようにしました。
分割したピースの、一番左上のものです。
正方形のimageView(分かりやすいように黄色にしています)にします。
周囲の凹凸を除いた正方形(赤い線)の中心(赤点)は、imageView(黄色)の中心でもあります。
そこが台の各場所の中心(黒点)と一致すれば正解となります。
他にもっと良い方法がありそうにも思うのですが...
次回、続きを書いていきたいと思いますm(__)m