Чтобы создать границы для перемещения платформы при Drag в Unity, вам потребуются следующие шаги:
1. Создайте пустой объект в сцене и добавьте на него компоненты Rigidbody2D и BoxCollider2D. Этот объект будет представлять вашу платформу.
2. Создайте новый скрипт C# и прикрепите его к объекту платформы. Назовите его, например, "DraggablePlatform".
3. Внутри скрипта добавьте следующие переменные:
c#
private Vector3 screenPoint;
private Vector3 offset;
private float minX;
private float maxX;
<pre>{{EJS0}}</pre>
5. В функции OnMouseDown() добавьте код, который определит начальные значения screenPoint и offset:
#
void OnMouseDown()
{
screenPoint = Camera.main.WorldToScreenPoint(transform.position);
offset = transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z));
}
6. В функции OnMouseDrag() добавьте код, который будет изменять позицию объекта в зависимости от перемещения мыши, с учетом границ перемещения: ```c# void OnMouseDrag() { Vector3 curScreenPoint = new Vector3(Input.mousePosition.x, Input.mousePosition.y, screenPoint.z); Vector3 curPosition = Camera.main.ScreenToWorldPoint(curScreenPoint) + offset; curPosition.x = Mathf.Clamp(curPosition.x, minX, maxX); transform.position = curPosition; }
7. Запустите сцену и убедитесь, что платформа перемещается только внутри указанных границ.
Это базовый пример реализации границ перемещения при Drag в Unity. Вы можете дополнить его дополнительными проверками и условиями, в зависимости от ваших требований и логики игры.