デバイス入力用のAssetは欲しい
ふと、モバイル端末で動作テストしてみたら、
端末じゃ入力を受け付けてくれないなどがあって、
PCじゃ入力が効くのに何故かなぁとおもったら、
どうやら、タッチとマウスクリックは入力の受付メソッドが違う。。。
Unity2Dのチュートリアルでも、タッチとマウス入力二つ書いてます。
こんな書き方好きじゃ無い。
でも、どちらでもイケるclassなんかを作るのもめんどくさい。
やっぱ、AssetStoreにあるよねー。
お、仮想ゲームパッドなんかもあるぞ。
ん、$35$。
買う。
ということで、EasyTouchを購入しました。
1. EasyTouchをインポート
AssetStoreからEasyTouch($35)を購入。 インポートする。
2. シーンにEasyTouchをアタッチ
[Tools]->[Hedgehog Team]->[EasyTouch]->[Add EasyTouch for C#]
3. C#スクリプトを作成
特に名前などは気にしなくてもいいですが、以下のサンプルのような感じで作成。
using UnityEngine; using System.Collections; public class MyEasyTouch : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } // Subscribe to events void OnEnable () { EasyTouch.On_TouchStart += On_TouchStart; } // Unsubscribe void OnDisable () { EasyTouch.On_TouchStart -= On_TouchStart; } // Unsubscribe void OnDestroy () { EasyTouch.On_TouchStart -= On_TouchStart; } // Touch start event public void On_TouchStart (Gesture gesture) { Debug.Log ("Touch in " + gesture.position); } }
4. 空のgameObjectを作成
作成したスクリプトを追加するためのgameObjectを作っておきます。
ここでは、Recieverという名前で作成しました。
5. GameObjectにスクリプトを追加
ドラッグ&ドロップで追加してあげてください。
6. Runして確認
ゲームのビューでクリックしてみてください。 タッチ(クリック)した位置がコンソールに出力されると思います。 ひとまず、これでタッチが取れたということで。