閲覧ありがとうございます。unityで2つのオブジェクトのpositionの入れ替えについて質問がございます。
こちらのサイトを参考にして、2つのオブジェクトのpositionを入れ替えるアニメションを作ろうと思っています。
How do I swap positions of two objects smoothly?
C#
1 void Change_number(GameObject a, GameObject b, Vector2 A_s, Vector2 B_s) 2 { 3 Vector2 A_POS = a.transform.position; 4 Vector2 B_POS = b.transform.position; 5 6 7 a.transform.position = Vector2.MoveTowards(A_POS, new Vector2(A_s.x, A_s.y + 2.0f), 0.1f); 8 b.transform.position = Vector2.MoveTowards(B_POS, new Vector2(B_s.x, B_s.y + 2.0f), 0.1f); 9 if (A_POS.y >= A_s.y + 2.0f ) //上がったら交換 10 { 11 a.transform.position = Vector2.MoveTowards(A_POS, new Vector2(B_s.x, B_s.y + 2.0f), 0.1f); 12 b.transform.position = Vector2.MoveTowards(B_POS, new Vector2(A_s.x, A_s.y + 2.0f), 0.1f); 13 } 14 if(Mathf.Abs(A_POS.x - B_s.x) <= 0) //移動しきったら下げる 15 { 16 a.transform.position = Vector2.MoveTowards(A_POS, new Vector2(B_s.x, B_s.y), 0.1f); 17 b.transform.position = Vector2.MoveTowards(B_POS, new Vector2(A_s.x, A_s.y), 0.1f); 18 } 19 20 } 21 22 23 void Update() 24 { 25 Change_number(Number[1], Number[2], Positions[1], Positions[2]); 26 Change_number(Number[2], Number[3], Positions[2], Positions[3]); 27 }
オブジェクトa,b,cが存在するとして、aとbの位置入れ替えをしてから、bとcの位置を入れ替えをしたいののですがこのコードを動かすと2つの動作が同時に起こってしまい、うまく入れ替えができません。
unityを使い始めてまだ日も浅いので説明不足も有ると思いますが、どなたかご教授お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/22 11:43