• ベストアンサー

Unityのピンボールゲーム製作

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

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.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を自作するのは簡単なので合わせて検討されたい。

関連するQ&A