Строитель башни
Часть раздела Основы скриптинга в Unity путешествия по Unity на Coddy. Урок 67 из 67.
Кран движется вперёд и назад над основанием. При каждом нажатии пробела или щелчке мышью с крана прямо вниз падает блок. Блок, который падает на вершину стопки, остаётся там, и следующий блок должен приземлиться на него. Блок, который промахивается, падает вниз. Высота стопки — это счёт.
Напиши всю игру в одном скрипте Crane, прикреплённом к крану.
Задание
СложноНапиши скрипт Crane для объекта Crane. В Inspector задай blockPrefab (префаб Block), top (Base — верхний блок башни на данный момент), craneSpeed (3), craneEdge (4) и fallSpeed (7).
- Кран движется вдоль оси x со скоростью
craneSpeedединиц в секунду. За пределамиcraneEdgeон разворачивается и движется влево, а за пределами-craneEdge— разворачивается и движется вправо. - Пробел или щелчок левой кнопкой мыши сбрасывает блок на координате x крана, на 1 единицу ниже него. Пока блок падает, последующие нажатия ничего не делают.
- Падающий блок движется вниз со скоростью
fallSpeedединиц в секунду. - Когда его координата y опустится до значения y объекта
topплюс 1, а его координата x будет меньше чем на 1 единицу отличаться от x объектаtop, блок приземляется: задай его координате y точное значение y объектаtopплюс 1, сделай его новымtopи выведи в лог высоту башни:Stack: 1,Stack: 2и так далее. - Блок, который не приземлился, продолжает падать. Ниже y = -3 уничтожь его и выведи в лог
Missed!.
Нажми Play и построй башню, затем нажми Check.
Попробуйте сами
using UnityEngine;
public class Crane : MonoBehaviour
{
[SerializeField] private GameObject blockPrefab;
[SerializeField] private Transform top;
[SerializeField] private float craneSpeed = 3f;
[SerializeField] private float craneEdge = 4f;
[SerializeField] private float fallSpeed = 7f;
void Update()
{
}
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы скриптинга в Unity
1Ваш первый скрипт
Привет, UnityРазместите кубДвигайте каждый кадрПоворачивайте каждую секундуУправляйте клавишамиПовторение: управляйте кубом2Инспектор
Поля инспектораSerializeFieldЧисла с плавающей точкой и MathfАтрибуты инспектораПовторение: лифт5Преобразования и иерархия
Родители и детиМасштабПосмотри на объектыДвигайся к точкеПовторение: Луна на орбите6Игровые объекты и компоненты
Ссылки в InspectorПолучение компонентаОтсутствующие компонентыДобавление компонентаRequireComponentПоказать и скрытьПовторение: выключатель света