Проект "Прыгающий мячик"
Цель: Создать игру, где мячик прыгает по экрану и отскакивает от стенок. Ты сможешь управлять им, наклоняя телефон.
Этот проект поможет изучить, как использовать датчик движения (акселерометр) в смартфоне, как программировать обнаружение столкновений и как заставлять объекты двигаться на экране.
Чему ты научишься:
- Использовать датчик движения (акселерометр)
- Программировать столкновения со стенками
- Перемещать объекты на экране
1
Добавь мячик на экран
2
Добавь датчик движения
3
Настрой столкновения
4
Создай блоки движения
5
Тестируй игру
Шаг 1: Добавление мячика на экран
- Откройте MIT App Inventor и создайте новый проект с названием "BouncingBall".
- После создания проекта вы увидите вкладку Designer. Сначала нам нужно добавить холст на экран.
- В левой части экрана найдите раздел Drawing and Animation (Рисование и анимация).
- Перетащите компонент Canvas (Холст) на экран вашего приложения.
-
Выберите добавленный холст (Холст1) и настройте его свойства в
правой панели:
• Width: Fill parent (Заполнить родителя)
• Height: Fill parent (Заполнить родителя)
- Перетащите компонент Ball (Мяч) на экран вашего приложения.
-
Выберите добавленный мячик (Ball1) и настройте его свойства в
правой панели:
• PaintColor: Выберите яркий цвет (например, красный)
• Radius: 20 (размер мячика)
• X: 140 (центр экрана по горизонтали)
• Y: 150 (середина экрана по вертикали)



Совет: Чтобы мячик был хорошо виден, используйте
яркие контрастные цвета. Вы также можете изменить его размер через
свойство Radius.
Шаг 2: Добавление датчика движения
- Теперь добавим датчик движения, который будет определять наклон телефона. В палитре компонентов найдите раздел Sensors (Сенсоры).
- Перетащите компонент AccelerometerSensor (Акселерометр) на экран приложения. Обратите внимание, что этот компонент появится в разделе "Non-visible components" в нижней части экрана.

Внимание: Датчик движения (акселерометр) работает
только на реальных устройствах. На эмуляторе вы не сможете
управлять мячиком наклоном, но сможете проверить отскок от стенок.
Шаг 3: Настройка столкновений
- Теперь настроим поведение мячика при столкновении с границами экрана. Переключитесь на вкладку Blocks в правом верхнем углу экрана.
- В левой панели найдите Шар1 и нажмите на него. Из списка доступных блоков выберите when Ball1.EdgeReached (когда мячик достиг края).
- Этот блок срабатывает, когда мячик сталкивается с краем холста. Внутри этого блока нам нужно добавить действие, которое "отразит" мячик от стенки.
- Снова найдите Шар1 в левой панели и выберите call Ball1.Bounce (вызвать метод Отскок). Поместите этот блок внутрь блока ДостигнутКрай.
- В блок call Ball1.Bounce добавьте числовой параметр. Для этого перейдите в раздел Math и выберите блок с числом. Установите значение 30. Это угол отражения мячика.


Совет: Метод Bounce заставляет мяч отскакивать от
края под определённым углом. Если вы хотите, чтобы отскок был
более реалистичным, можете использовать другие значения угла или
создать случайное значение для каждого отскока.
Шаг 4: Создание блоков движения
- Теперь добавим блоки, которые будут перемещать мячик в зависимости от наклона телефона. В левой панели найдите AccelerometerSensor1 и выберите блок when AccelerometerSensor1.AccelerationChanged.
- Этот блок будет срабатывать каждый раз, когда пользователь наклоняет телефон. Блок имеет три параметра: xAccel, yAccel и zAccel, которые представляют ускорение по каждой оси.
- Теперь нам нужно передвинуть мячик на основе данных акселерометра. Найдите Ball1 в левой панели и выберите блок set Ball1.X to.
-
Для установки новой координаты X, мы будем использовать текущее
положение мячика и добавлять к нему значение, основанное на
показаниях акселерометра:
1. Из раздела Math выберите блок "+" (сложение)
2. В левую часть блока сложения поместите Ball1.X
3. В правую часть блока сложения поместите xAccel из блока AccelerationChanged, но умноженный на -1 - Аналогично сделаем для координаты Y. Добавьте блок set Ball1.Y to и настройте похожую формулу, используя Ball1.Y и yAccel.

Хитрость: Мы умножаем xAccel на отрицательное
число (-1 или другой множитель), чтобы мячик двигался в правильном
направлении. Вы можете настроить чувствительность, изменив этот
множитель. Например, -2 сделает движения более резкими, а -0.5 —
более плавными.
Шаг 5: Тестирование игры
-
Протестируйте ваше приложение:
Для тестирования вашей игры воспользуйтесь руководством по тестированию приложений в нашем введении в MIT App Inventor. - Для наилучших результатов рекомендуется тестировать это приложение на реальном устройстве, а не на эмуляторе, так как эмулятор не имеет акселерометра.
-
Проверьте работу:
• Наклоните телефон в разные стороны — мячик должен двигаться в направлении наклона
• Убедитесь, что мячик отскакивает от краёв экрана
• Попробуйте разные скорости движения и наклоны телефона -
Возможные улучшения игры:
• Добавьте звуковые эффекты при столкновении мячика со стенками
• Добавьте счётчик отскоков или таймер для соревнований
• Добавьте препятствия или цели для мячика
• Измените цвет мячика при столкновениях
• Добавьте кнопку для изменения скорости движения

Готово! Вы создали интерактивную игру с
использованием датчика движения! Теперь вы знаете, как работать с
акселерометром, создавать движущиеся объекты и обрабатывать
столкновения в MIT App Inventor.
Скачать проект
Если у вас возникли сложности, вы можете скачать готовый файл проекта в нашем центре загрузок:
Перейти в центр загрузок