Scratch — баскетбол и гравитация
Эскиз
Кот прыгает (стрелки + пробел), мяч летит по дуге в кольцо. Счёт растёт при попадании. Кольцо может слегка двигаться — усложнение.
| Часть | Функция |
|---|---|
| А | Гравитация и приземление на «землю» |
| Б | Ходьба влево/вправо |
| В | Кольцо и невидимый хитбокс |
| Г | Мяч, бросок, счёт |
Часть А — гравитация
Переменные для кота: скорость_y, на_земле (для всех спрайтов или только для кота).
[Когда 🟢 нажат]
установить [скорость_y v] в (0)
установить [на_земле v] в (истина)
повторять всегда
если <нажата клавиша [пробел] и <(на_земле) = [истина]>> то
установить [скорость_y v] в (14)
установить [на_земле v] в (ложь)
конец
изменить [скорость_y v] на (-1)
изменить y на (скорость_y)
если <касается [Земля v] или y < (-140)> то
установить [скорость_y v] в (0)
установить [на_земле v] в (истина)
установить y в (-140)
конец
ждать (0.02) сек.
конец
Спрайт Земля — зелёная полоса внизу сцены. Тот же приём — в 32 — платформер.
Контрольная точка: кот падает и останавливается на земле; пробел подбрасывает.
Часть Б — ходьба
Параллельный скрипт у кота:
[Когда 🟢 нажат]
повторять всегда
если <нажата клавиша [стрелка вправо]?> то
изменить x на (5)
конец
если <нажата клавиша [стрелка влево]?> то
изменить x на (-5)
конец
ждать (0.02) сек.
конец
Часть В — кольцо и хитбокс
- Спрайт
Кольцо— картинка обода. - Спрайт
Хитбокс— прозрачный прямоугольник чуть меньше отверстия; закрепите его по центру кольца. - При броске проверяйте
касается [Хитбокс], а не весь спрайт кольца — так попадание честнее.
Подробнее про приём — §19 хитбокс.
Часть Г — мяч и счёт
Спрайт Мяч. При нажатии, например, x:
[Когда нажата клавиша [x v]]
перейти к [Кот v]
показаться
повторять пока не <касается [Хитбокс v]?>
изменить y на (скорость_мяча_y)
изменить x на (скорость_мяча_x)
изменить [скорость_мяча_y v] на (-0.5)
ждать (0.02) сек.
конец
изменить [счёт v] на (1)
воспроизвести звук [попадание v]
спрятаться
Старт мяча у кота, начальные скорость_мяча_x и скорость_мяча_y подберите опытным путём.
Если счёт растёт при каждом кадре касания, добавьте флаг уже_засчитано или спрячьте мяч сразу после первого попадания — иначе +10 очков за один бросок.
Контрольная точка: один бросок — одно очко; мяч исчезает или возвращается к коту.
Дополнительно
- Кольцо слегка двигается влево-вправо (
изменить xвповторять всегда). - Чит: клавиша останавливает кольцо на 3 секунды.
- Remix Gravity Example — сравнить с вашей версией.
Вопросы для самопроверки
- Зачем две переменные
скорость_yина_земле? - Почему хитбокс делают отдельным спрайтом?
- Что произойдёт, если убрать
ждатьиз цикла гравитации?
Что дальше
| Дальше | Ссылка |
|---|---|
| Клоны и арканоид | 36 |
| Клоны в справочнике | Scratch §9 |
См. также
Другие статьи этого же раздела в боковом меню (как на странице "О разделе"). Введение в программирование для детей — от идеи и алгоритма к переменным, условиям, циклам и первым строкам кода. PascalABC.NET — среда Pascal на .NET для школ Росси: первая программа, модули, графика и связь с олимпиадами. А теперь — ключевой момент — графические блоки — это не игрушка и не ненастоящее программирование. Это то же самое, только в другой форме. Scratch - визуальное программирование в браузере и первые шаги на платформе MIT для детей и начинающих. На <a href="https://scratch.mit.edu/starter-projects" target="_blank" rel="noopener noreferrer">scratch.mit.edu/starter-projects</a> MIT собрал <strong>готовые проекты с подсказками внутри. Scratch — платформер и демосцена, учебные проекты курса 3 Scratch и связь с каталогом стартовых проектов. Пошагово — редактор Scratch, движение, направление в градусах и расширение Перо для арт-проекта в космосе. Пошаговая игра-лабиринт в Scratch — стрелки, касание цвета стен, яблоко, сообщения и смена уровней. Пошаговый арканоид в Scratch — ракетка, отскок мяча, клоны кирпичей, победа и поражение. Пошаговый клон Asteroids в Scratch — мышь, выход за край экрана, стрельба, клоны и таймер. Пошаговый платформер в Scratch — склоны, хитбокс, анимация ходьбы, яблоко и простой ИИ краба. Эскиз игры, части А и Б, контрольные точки и готовые файлы — метод пошаговой сборки игр в Scratch.Введение в программирование
PascalABC.NET
Блоки
Scratch
Стартовые проекты MIT Scratch
Scratch: платформер и демосцена
Практика 1 — радуга
Практика 2 — лабиринт
Практика 4 — арканоид
Практика 5 — астероиды
Практика 6 — платформер
Метод обучения