2016-10-26 4 views
0

画面上で指をスワイプしているときに球を移動しようとしています。
以下のコードで、スワイプして前方に移動する必要があります。 オブジェクトを1回だけスワイプして翻訳するにはどうすればよいですか?Unityでスワイプしてオブジェクトを変換する

public float speed; 

void FixedUpdate() 
{ 
    if (Input.touchCount > 0 && 
     Input.GetTouch(0).phase == TouchPhase.Ended || (Input.GetMouseButtonDown(0))) 
    { 
     transform.Translate(Vector3.forward * Time.deltaTime*speed); 
    } 
} 

答えて

2

コードでは、TouchPhaseが終了した正確な瞬間にオブジェクトを移動させます。オブジェクトをプッシュするには、力を加えてみてください。 Unity Tutorialsから

修正C#の例:

public float speed; 
public Rigidbody rb; 

void Start() 
{ 
    rb = GetComponent<Rigidbody>(); 
} 

void FixedUpdate() 
{ 
    if (Input.touchCount > 0 && 
     Input.GetTouch(0).phase == TouchPhase.Ended || (Input.GetMouseButtonDown(0))) 
    { 
     rb.AddForce(Vector3.forward * Time.deltaTime * speed); 
    } 
} 

は、あなたがこのテクニックを使用している場合、オブジェクトにRigidbody3Dコンポーネントを追加する必要があります。

+0

ありがとう –

関連する問題