У меня есть сценарий, который в настоящее время меняет положение двух объектов. Объекты имеют одинаковый размер и форму, так что, когда они меняются местами, это мгновенно, и вы не видите, что они двигаются к позиции. Как я могу сделать это так, чтобы скорость движения, когда эти два объекта меняются местами, так что вы можете видеть их на самом деле движущиеся позиции. Мне также нужно выяснить, как добавить третий объект, чтобы они все переключали позиции случайным образом. Что-то, как это моя конечная цель: http://i249.photobucket.com/albums/gg240/OldNewby4507/shell-game-animated.gifКак я могу поменять местами двух объектов на разных скоростях вместо мгновенного обмена?
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour
{
public float movementSpeed = 10;
public GameObject g1;
public GameObject g2;
public Vector3 vec1;
public Vector3 vec2 = new Vector3(2F, 2F, 2F);
public bool swapBack = false;
void Start()
{
g1 = GameObject.Find("object1");
g2 = GameObject.Find("object2");
vec1 = new Vector3(g1.gameObject.transform.position.x, g1.gameObject.transform.position.y, g1.gameObject.transform.position.z);
vec2 = new Vector3(g2.gameObject.transform.position.x, g2.gameObject.transform.position.y, g2.gameObject.transform.position.z);
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
vec1 = g1.gameObject.transform.position;
vec2 = g2.gameObject.transform.position;
g1.gameObject.transform.position = vec2;
g2.gameObject.transform.position = vec1;
}
}
}
сейчас моя movementSpeed переменная не используется.
Обратите внимание, что если вы остановились на одном из ответов на ваш [предыдущий вопрос] (http://stackoverflow.com/questions/41001473/how-do-i-get-an-object-to-move-and- swap-places-with-another-object-on-a-mouse-c), вы должны рассмотреть возможность принятия одного из них. В качестве альтернативы, подайте свой собственный ответ на вопрос. – Serlite