Проект “Поймай точки”
Создадим игру в которой мы будем управлять кругом разделённым на сектора трёх цветов. В сторону круга будут двигаться точки красного, синего и жёлтого цвета. Задача игрока - поворачивать круг таким образом, чтобы точки коснулись сектора нужного цвета. Игрок может управлять вращением круга с помощью стрелочек на клавиатуре.
Управление поворотом круга
Открой файл Поймай точки (шаблон).sb2. В файле проекта будет один спрайт, вращением которого мы будем управлять. Составим скрипт с помощью которого спрайт круг будет поворачиваться по часовой стрелке при нажатии на стрелочку вправо:
Проверь работу скрипта.
Измени скрипт таким образом, чтобы при нажатии на стрелку влево, спрайт поворачивался против часовой стрелки.
Подсказка (Нажми, чтобы показать)
Тебе понадобятся следующие блоки:Создание нового спрайта
Создай спрайт который будет содержать маленькую красную точку.
Выбери спрайт, который ты только что создал, и добавь ему следующий скрипт:
Если сейчас нажать на зелёный флажок, спрайт и все его клоне не будут видны.
Добавим скрипт с помощью которого точки будут появляться в углах сцены. Координаты углов сцены приведены на следующем рисунке:
Создай список с названием координаты в который запиши два значения: 180 и -180.
После того как добавишь координаты, убери монитор переменной со сцены. Теперь мы сможем выбрать координаты для точек случайным образом.
Добавим спрайту красный скрипт, который будет выполнять его клон:
Нажми на зелёный флажок и проверь работу проекта.
Создадим переменные жизни и счёт для того чтобы хранить количество оставшихся у игрока возможностей ошибиться и количество правильно пойманных точек.
Выбери сцену и добавь для неё следующий скрипт, с помощью которого мы обнулим счёт и установим для жизней значение 3:
Добавим к этому скрипту условие окончания игры: если количество жизней станет меньше 1, то мы останавливаем работу всех запущенных скриптов:
Условие набора очков в игре
Выбери спрайт красный что бы изменить скрипт для клона этого спрайта:
Нажми на зелёный флаг, чтобы проверить работу игры.
Усложняем игру
Добавим движущиеся точки жёлтого и синего цвета. Для этого создадим два дубликата спрайта красный и переименуем их в синий и желтый. После этого необходимо отредактировать цвет заливки для новых спрайтов.
Измени скрипты для спрайта синий и желтый таким образом, чтобы клоны этих спрайтов изменяли счёт и количество жизней после прикосновения к соответствующему цвету.
Подсказка (Нажми, чтобы показать)
Для желтого и синего спрайтов исправления необходимо сделать в этом блоке:Иногда точки создаются одновременно в очень большом количестве. Это необходимо исправить.
В скрипте синего спрайта измени задержку перед началом выполнения с 2 секунд на 4. Для желтого спрайта измени задержку с 2 до 6 секунд.
Нажми на зелёный флажок и проверь работу игры.
Постепенное увеличение скорости игры
Составим скрипты благодаря которым точку будут появляться чаще с течением игры. Для выбери сцену и добавь переменную задержка:
Перед началом игры установим задержку в 8 секунд. В течении игры каждые 10 секунд будем уменьшать значение задержки на 0.5 секунды. Для того чтобы реализовать этот алгоритм составь следующий скрипт:
Обрати внимание на то, что значение задержки не может быть меньше 2 секунд.
Теперь в каждом из трёх спрайтов с точками вместо случайной задержки устанавливаем задержку равную значение переменной задержка:
Попробуй составить скрипт с помощью которого точки будут ускоряться со временем. Для этого создай переменную скорость. Добавь этот скрипт к сцене по аналогии со скриптом который отвечает за изменение задержки. В случае со скоростью, задай начальное значение переменной равное 1 и увеличивай её значение на единицу каждые 15 секунд. Потом в спрайтах точек необходимо подставить переменную скорость в блок, который отвечает за перемещение клона соответствующей точки.
Подсказка (Нажми, чтобы показать)
За скорость передвижения клонов точек отвечает этот блок:Сохранение наилучшего результата
Добавим в наш проект возможность сохранять наилучший результат. Для этого выбери сцену и добавь новую переменную - лучший результат.
Создай для сцены собственный блок проверить результат и помести туда блоки, с помощью которых мы проверим, улучшился ли результат по сравнению с предыдущим.
Добавь следующие блоки в созданный тобой блок проверить результат:
В блоке проверить результат мы применяем блок если … то для того чтобы проверить следующее условие: если текущий счёт больше сохранённого ранее лучшего результата, то в лучший результат мы сохраним значение счёта.
Блок проверить результат необходимо подставить перед блоком который останавливает все скрипты:
На данный момент сцена должна выглядеть следующим образом:
Идеи для улучшения игры
Вот несколько идей для улучшения игры:
- Создай спрайт-точку которые удваивают количество твоих очков.
- Создай спрайт-точку которая будет замедлять все остальные точки.
- Добавь переменную игрок с сохраняй в неё имя игрока с наилучшим результатом.