0
以下は、タッチと動きを制御する私のマウスルックスクリプトです。今は複数のタッチを実装していますが、これは私がfinger-IDを使用したものですが、これを実装した後、理由は分かりません。デフラグによってslider_finger_id is = -1;touch.fingeridタッチが動作しない
if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer)
{
if(Input.touchCount>0)
{
foreach (Touch touch in Input.touches)
{
if (touch_moving_tex.HitTest (touch.position))
{
if(touch.phase == TouchPhase.Began && touch.phase == TouchPhase.Moved && slider_finger_id ==-1)
{
if (axes == RotationAxes.MouseXAndY)
{
sensitivityX = main_fov;
noisedeltaX += ((((Mathf.Cos (Time.time) * Random.Range (-10, 10)/5f) * noiseX) - noisedeltaX)/100) * Time.timeScale;
rotationXtemp += (touch.deltaPosition.x * sensitivityX * sensitivity) + (noisedeltaX);
//rotationXtemp += (Input.GetTouch (0).deltaPosition.x * sensitivityX * sensitivity) + (noisedeltaX);
rotationX += ((rotationXtemp - rotationX)/3) * Time.timeScale;
rotationX = Mathf.Clamp (rotationX, minimumX, maximumX);
sensitivityY = main_fov;
noisedeltaY += ((((Mathf.Sin (Time.time) * Random.Range (-10, 10)/5f) * noiseY) - noisedeltaY)/100) * Time.timeScale;
rotationYtemp += (touch.deltaPosition.y * sensitivityY * sensitivity) + (noisedeltaY);
rotationY += ((rotationYtemp - rotationY)/3) * Time.timeScale;
rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);
transform.rotation = Quaternion.Lerp (transform.rotation, Quaternion.Euler (new Vector3 (-rotationY, rotationX, 0)), 9f * Time.deltaTime);
}
}
slider_finger_id = touch.fingerId;
}
if (touch.phase == TouchPhase.Ended)
{
if (touch.fingerId == slider_finger_id)
{
slider_finger_id = -1;
}
}
}
}
は、私は私がslider_finger_idを使用していけない場合、それが動作することを一つのことに気づいた..しかし、私はそれが-1であると何がそれ –
と 'setted slider_finger_id'さを変えていない何回もチェックされていますか?最初の反復で、値は何ですか?そして '-1'が有効かどうかはわかりません。 – matiaslauriti