Игра типа Slide Puzzle. Необходимо двигать блоки чтобы вытащить необходимый блок. В моём случае это машинки на парковке. Написала скрипт при помощи которого передвигаются 2д машинки.
Однако при рестарте уровня они начинают проходить сквозь друг друга. Подскажите пожалуйста, в чём проблема?
Код перемещения машинок
using System.Collections.Generic;
using UnityEngine;
public class TouchDrag : MonoBehaviour
{
private bool walk;
Rigidbody2D rb;
void Awake()
{
rb = GetComponent<Rigidbody2D> ();
}
void Update()
{
if (Input.GetMouseButtonDown(0))
{
walk = true;
}
if(walk == true)
{
Vector3 touchPos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
if (GetComponent<Collider2D>() == Physics2D.OverlapPoint(touchPos))
{
rb.MovePosition(new Vector2(touchPos.x, touchPos.y));
}
}
if (Input.GetMouseButtonUp(0))
{
walk = false;
}
}
}
Код рестарта уровня
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Restart : MonoBehaviour {
public void RestartLevel()
{
SceneManager.LoadSceneAsync("MiniGame");
}
}
