プロが教える店舗&オフィスのセキュリティ対策術

Unityでピンボールを作っていて、Android用にビルドしようとしているのですが、
下部にあるフリッパーを
「画面左半分がタッチされたら左のパドル(LeftPaddle)を動かし、画面右半分がタッチされたら右のパドル(RightPaddle)を動かす」といった挙動にしたいのですが、スクリプトの書き方に苦戦しています。
わかる方がいらっしゃいましたら教えていただきたいです。
ちなみにJavaSctiptで書いています。

A 回答 (1件)

どんなスクリプトを書いてるの? それをさらさないと回答は受けにくいじゃろう。



タッチを検知するのみだったら(以下のコードはC#です)
void Update () {
 // ↓マルチタッチ対応のため全タッチを順番に確認する
 foreach (Touch touch in Input.touches) {
  switch (touch.phase) {
  case TouchPhase.Began:
   // タッチが初めて検知された(タッチダウン)
   // touch.positionとScreenとか見比べて左右を判定
   // 右に2つタッチされたらどうする?
   break;
  case TouchPhase.Moved:
   // ここでタッチダウン→指を動かして左から右へとかやってもいいだろう
   // touch.fingerIdをキーにタッチダウン時のtouch.positionを覚えておく事で追跡可能
   break;
  case TouchPhase.Ended:
   // ここでタッチダウン時と同じエリアを指さしていたら
   // そちらのパドルを動かす動きにすればいい
   // touch.fingerIdをキーにタッチダウン時のtouch.positionを覚えておく事で追跡可能
   break;
  case TouchPhase.Canceled:
   // なぞり途中でトラッキング不可能になったとかだと思われる
   break;
  }
 } 
}
みたいな構造でそれぞれの「イベント」を適当に処理すれば余裕のよっちゃんだろう。
同じ指でなぞり続ける限りfingerIdが変わらないのでそれをHashMap的なもので管理すると良かろう。
JavaScriptにHashMapがあるのかは分からんが、C#の場合はHashMapを自作するのは簡単なので合わせて検討されたい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!