2017-11-05 5 views
0

は、私はこのコードを使用:ドラッグ可能な距離を制限するにはどうすればよいですか?私はドラッグ可能な引き出しを作ってみました

 void OnMouseDrag() { 
     Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z); 
     Vector3 curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset; 

     //Debug.Log(curPosition[0]); 
     curPosition.y = gameObject.transform.position.y; 
     curPosition.z = gameObject.transform.position.z; 
     //curPosition.x = Mathf.Clamp(gameObject.transform.position.x,-3.0F,3.0F); 
     transform.position = curPosition; 

    } 

はどのようにして、xのドラッグ範囲を制限することができますか?私はこのような何かしたくないので:

enter image description here

を私はMathf.Clampを使用しようとしましたが、それはうまく動作しません。

ありがとうございました!そして私の英語には申し訳ありません。

+0

あなたはまだそれを調整する必要があるでしょうが、 'Mathf.Clamp()'が 'curPosition.x'を' worldPosition.x - 3.f'の間でクランプしているとうまくいかないようです'worldPosition.x + 3.f'となります。 'Mathf.Clamp(gameObject.transform.position.x、gameObject.transform.position.x - 3.0F、gameObject.transform.position.x + 3.0F)を試してください;' :-) – George

答えて

0

Physics Joints、もっと正確にはConfigurableJointを使用することをお勧めします。ジョイントが各軸で移動できる距離の制限を設定することができます(私はいくつかの引き出しを行うために一度使用しました)。

関連する問題