Как управлять спрайтом мышкой в Scratch?
Хочу двигать ракетку мышкой, как в пинг-понге. Как в скретче сделать, чтобы спрайт следовал за мышкой или ехал за курсором?
2 ответа
Управлять мышкой очень легко — у Scratch есть готовые блоки «x мыши» и «y мыши» в голубой полке «Сенсоры». 🖱️ Они всегда знают, где сейчас курсор.
Способ 1 — спрайт целиком прилипает к мышке:
когда нажат зелёный флажок
всегда
перейти к указателю мыши
Блок «перейти к указателю мыши» (полка «Движение») — самый простой. Спрайт будет всюду следовать за курсором. 🎯
Способ 2 — ракетка ездит только влево-вправо (как в арканоиде):
когда нажат зелёный флажок
всегда
задать x = (x мыши)
Здесь меняется только x (лево-право), а высота остаётся на месте. Идеально для ракетки внизу экрана. 🏓
Способ 3 — только вверх-вниз (как в пинг-понге сбоку):
когда нажат зелёный флажок
всегда
задать y = (y мыши)
Как собрать «задать x = x мыши»:
- Возьми блок «задать x =» из «Движения».
- В окошко перетащи круглый блок «x мыши» из «Сенсоров».
Частая ошибка: забыть цикл «всегда». Без него спрайт переедет к мышке только один раз и замрёт. Чтобы он постоянно следил за курсором — клади команду внутрь «всегда». ✅
Ещё пригодится блок «мышь нажата» (Сенсоры) — он отвечает «да», когда зажата кнопка мыши. Можно стрелять или рисовать, пока кнопка нажата:
всегда
если <мышь нажата> то
начать звук «Выстрел»
А блок «когда щёлкнут по спрайту» срабатывает при клике именно по герою — удобно для кнопок в меню. 🙂