3つ目はジグソーパズルに挑戦。その開発中トラブルや思ったことの備忘録
@Unity2017.3→途中から2018.2.1
・開発のきっかけ
アクションゲームを2つ作ったので、アクションじゃないものが作ってみたかった。
豚肉の部位毎のおいしい食べ方をきちんと理解したかったので、豚肉のパズルにすることにした。
ピースを持ったときにその部位の名前と、おいしい食べ方を覚えられるゲームを目指した。
・タッチしたところにオブジェクトを追従させる方法
参照:http://nekosuko.jp/blog/?p=267
タッチした座標(スクリーン座標)と、オブジェクトが存在する座標(ワールド座標)とは全くの別物であり、変換する必要がある。
スクリーン座標をワールド座標に変換した後は、オブジェクトのtransform.positionにその座標をフレームごとに直接ぶち込んでやることにした。
1 2 3 4 5 6 7 |
if (Input.GetMouseButton(0)) { this.startPos = Input.mousePosition; Vector3 worldPos = Camera.main.ScreenToWorldPoint(startPos); this.transform.position = new Vector3 (worldPos.x, worldPos.y, 0); } |
・ピースの上でタッチした時だけそのピースを動かせるようにする
ピースの中心座標を取得し、そこから一定の範囲にあるときだけ動かせるようにした。
うまくいかなかったのでRaycastでの実装に切り替えた
・ビルド時にUIがずれる問題