using UnityEngine;
public class CubeScript : MonoBehaviour
{
// Скорость перемещения куба по осям x и z
public float moveSpeed = 5f;
// Скорость поворота куба и камеры по осям x и y
public float rotateSpeed = 50f;
// Флаг, указывающий, увеличен ли куб или нет
private bool isScaled = false;
// Первоначальный размер куба
private Vector3 originalScale;
// Увеличенный размер куба
private Vector3 scaledScale;
// Ссылка на компонент камеры
private Camera cam;
// Метод, вызываемый при запуске сцены
private void Start()
{
// Сохраняем первоначальный размер куба
originalScale = transform.localScale;
// Вычисляем увеличенный размер куба, умножая каждую компоненту на 2
scaledScale = originalScale * 2;
// Находим компонент камеры на сцене
cam = Camera.main;
}
// Метод, вызываемый каждый кадр
private void Update()
{
// Получаем ввод с клавиатуры для перемещения куба по осям x и z
float horizontalInput = Input.GetAxis("Horizontal");
float verticalInput = Input.GetAxis("Vertical");
// Вычисляем вектор направления перемещения куба
Vector3 moveDirection = new Vector3(horizontalInput, 0, verticalInput);
// Перемещаем куб в соответствии с вектором направления и скоростью перемещения
transform.Translate(moveDirection * moveSpeed * Time.deltaTime);
// Получаем ввод с мыши для поворота куба и камеры по осям x и y
float mouseX = Input.GetAxis("Mouse X");
float mouseY = Input.GetAxis("Mouse Y");
// Поворачиваем куб вокруг оси y в соответствии с перемещением мыши по оси x и скоростью поворота
transform.Rotate(Vector3.up * mouseX * rotateSpeed * Time.deltaTime);
// Поворачиваем камеру вокруг оси x в соответствии с перемещением мыши по оси y и скоростью поворота
cam.transform.Rotate(Vector3.right * -mouseY * rotateSpeed * Time.deltaTime);
// Проверяем, нажата ли клавиша M
if (Input.GetKeyDown(KeyCode.M))
{
// Меняем флаг isScaled на противоположное значение
isScaled = !isScaled;
// Если флаг isScaled равен true, то увеличиваем куб до увеличенного размера
if (isScaled)
{
transform.localScale = scaledScale;
}
// Иначе возвращаем куб к первоначальному размеру
else
{
transform.localScale = originalScale;
}
}
}
}
скрипт к кубу.
1 Когда игрок нажимает клавишу ← или →, куб должен перемещаться
вдоль оси x в отрицательном или положительном направлении
соответственно. Всякий раз, когда игрок нажимает клавишу ↓ или ↑, куб
должен перемещаться вдоль оси z в отрицательном или положительном
направлении соответственно.
2 Когда игрок перемещает мышь вдоль оси y, камера должна
поворачиваться вокруг оси x. Когда игрок перемещает мышь вдоль оси x, куб
должен поворачиваться вокруг оси y.
3 Когда игрок нажимает клавишу M, куб должен удвоиться в размерах.
При повторном нажатии куб должен вернуться к своему первоначальному
размеру. Клавиша M таким образом играет роль переключателя между
размерами куба.