【Unity】バーチャルパッドの実装
RPGアプリでバーチャルパッドを左下に設置したので、そのまとめ。
次回作作るとき用の備忘録です全て。
基本スクリプトでごり押しするスタイル。
基本下の4つの考え方
①ある範囲内でタッチし始めたら動かせる
できれば「このスティックをタッチしたら」にしたかったけど、よくわかんないのでとりあえず四角でやってる。できれば直したい。
タッチ開始位置座標が80<= x座標 <= 200, 80<= y座標<= 200なら動かせるみたいな。
②誤タッチ対策
まあ間違えてタッチする場合があるので。
タッチし始めの座標と現在の座標の距離をmagnitudeでとって、それが一定(記事書いてるときは10)以下なら、スティックを動かさない。
③スワイプ距離・方向と同じだけスティックを動かす
スティック位置に現在のタッチ位置を代入すると挙動がおかしくなったので、こっちの考え方で。50は半径の差。
Vector2クラスのスワイプの座標差に中央(140,140)を足してスティック位置を更新。
④スワイプしすぎたら枠内で止める。
Vector2クラスのスワイプの座標差に50をかけて、スワイプ距離で割った値を中央(140,140)に加算。
だいたいこんな感じ。