前提・実現したいこと
Unityで複数の要素を無限スクロールさせたいのですが、す早くスワイプするとpositionがだんだんとずれてしまいます。
一定間隔を常に保ってpositionをループさせる方法があればご教授のほどお願いいたします。
該当のソースコード
C#
1void Update () 2 { 3 float speed = 0.05f; 4 if (Input.touchCount > 0) 5 { 6 Touch touch = Input.GetTouch(0); 7 switch (touch.phase) 8 { 9 case TouchPhase.Began: 10 break; 11 12 case TouchPhase.Moved: 13 Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition; 14 15 foreach (Transform child in transform) 16 { 17 18 child.Translate(0, Mathf.Ceil(touchDeltaPosition.y * speed), 0); 19 20 if(child.position.y >= 0f) { 21 22 child.localPosition = new Vector3(0, -100f ,0); 23 24 } 25 if(child.position.y <= -100f) { 26 27 child.localPosition = new Vector3(0,0f,0); 28 } 29 30 } 31 break; 32 33 case TouchPhase.Ended: 34 35 break; 36 } 37 } 38}
試したこと
カメラを複数使用してのループではなくobj自体を動かしてループさせたいです。
回答1件
あなたの回答
tips
プレビュー