Как сделать, чтобы спрайт отскакивал от края экрана в Scratch?
Мой шарик улетает за край и пропадает. Как в скретче сделать, чтобы спрайт отскакивал от стенок, как мячик?
2 ответа
Для отскока есть готовый волшебный блок «если касается края, оттолкнуться» из синей полки «Движение»! ⚽
Он сам проверяет, дошёл ли спрайт до стенки, и сам разворачивает его обратно. Тебе ничего считать не надо.
Собери так:
когда нажат зелёный флажок
всегда
идти 10 шагов
если касается края, оттолкнуться
Запусти флажок — шарик будет летать по экрану и отскакивать от всех четырёх стенок. 🎾
Но есть один прикол: иногда после отскока спрайт переворачивается вверх ногами. Чтобы кот не ходил кверху лапами, добавь блок «установить способ вращения: влево-вправо»:
когда нажат зелёный флажок
установить способ вращения «влево-вправо»
всегда
идти 10 шагов
если касается края, оттолкнуться
Теперь герой будет только зеркалиться, но не кувыркаться. 👍
Частая ошибка: забыть про цикл «всегда». Если поставить «оттолкнуться» один раз без цикла, проверка случится только в первый миг, и шарик всё равно улетит. Отскок должен проверяться постоянно — значит, внутри «всегда». ✅
Маленькое объяснение, как это работает: у каждого спрайта есть направление (куда он смотрит). Блок «оттолкнуться» просто разворачивает это направление, как луч света от зеркала.
Если хочешь, чтобы мяч летел не прямо, а под углом, в начале поставь блок «повернуть в направлении 45» — тогда он будет красиво скакать по диагонали. 🙂