FaikStr mosh
Знаток
(273)
4 месяца назад
Вот, надеюсь поможет! using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
// Скорость передвижения вперёд
public float forwardSpeed = 5f;
// Скорость перемещения по оси X
public float moveSpeed = 10f;
// Ограничения по оси X (чтобы игрок не выходил за пределы экрана)
public float minX = -5f;
public float maxX = 5f;
void Update()
{
// Передвижение по оси Z вперёд
transform.Translate(Vector3.forward * forwardSpeed * Time.deltaTime);
// Получение позиции курсора мыши на экране
Vector3 mousePosition = Input.mousePosition;
// Преобразование позиции курсора из экранных координат в мировые
mousePosition = Camera.main.ScreenToWorldPoint(new Vector3(mousePosition.x, mousePosition.y, Camera.main.transform.position.y - transform.position.y));
// Задаём новое положение по оси X, оставляя оси Y и Z без изменений
float targetX = Mathf.Clamp(mousePosition.x, minX, maxX);
transform.position = new Vector3(targetX, transform.position.y, transform.position.z);
}
}
BarKodeУченик (58)
4 месяца назад
по моему ты не учел одну вещь, moveSpeed написан только самом начале и больше не где. То получается moveSpeed написан просто так.