識ログ

超絶プログラミング初心者のUnity開発備忘録

【Unity】バーチャルパッドの実装

 

RPGアプリでバーチャルパッドを左下に設置したので、そのまとめ。

次回作作るとき用の備忘録です全て。

基本スクリプトでごり押しするスタイル。

f:id:shiki4020:20170509015841p:plain

 

基本下の4つの考え方

 ①ある範囲内でタッチし始めたら動かせる

f:id:shiki4020:20170509013709p:plain

できれば「このスティックをタッチしたら」にしたかったけど、よくわかんないのでとりあえず四角でやってる。できれば直したい。

タッチ開始位置座標が80<= x座標 <= 200, 80<= y座標<= 200なら動かせるみたいな。

 

 

②誤タッチ対策

f:id:shiki4020:20170509014129p:plain

まあ間違えてタッチする場合があるので。

タッチし始めの座標と現在の座標の距離をmagnitudeでとって、それが一定(記事書いてるときは10)以下なら、スティックを動かさない。

 

③スワイプ距離・方向と同じだけスティックを動かす

f:id:shiki4020:20170509014404p:plain

スティック位置に現在のタッチ位置を代入すると挙動がおかしくなったので、こっちの考え方で。50は半径の差。

Vector2クラスのスワイプの座標差に中央(140,140)を足してスティック位置を更新。

 

④スワイプしすぎたら枠内で止める。

f:id:shiki4020:20170509014908p:plain

Vector2クラスのスワイプの座標差に50をかけて、スワイプ距離で割った値を中央(140,140)に加算。

 

だいたいこんな感じ。