Im делает игру Drag-n-drop и задается вопросом, как я могу сохранить позицию игрового объекта, а затем возвращать объект в эту позицию, когда OnMouseUp запускается. Это предполагается добавить к нескольким объектам.Возврат GameObject к исходной позиции после OnMouseUp C#
В настоящее время я использую это для событий мыши, и это работает очень хорошо.
void OnMouseDown()
{
screenPoint = Camera.main.WorldToScreenPoint(gameObject.transform.position);
offset = gameObject.transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
Debug.Log("Clicked "+gameObject.name);
}
public void OnMouseDrag()
{
Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z);
Vector3 curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint)+offset;
}
void OnMouseUp()
{
Debug.Log("Returning gameobject to startposition");
}
Что мне делать, чтобы вернуть объект в исходное положение, когда OnMouseUp. Been ищет способы сделать это, но я не могу найти sulution
Вам нужно сохранить копию позиции объекта, когда вы начинаете перетаскивание (по моему мнению, я думаю), а затем по нажатию мыши установите положение объекта в сохраненное положение –