Если касается края, оттолкнуться — это блок движения, по форме обычный блок. Он проверяет, касается ли его спрайт или клон края сцены, и если это так, то спрайт установит направление на противоположное направлению до касания края. Для определения угла отражения и угла падения используется линия, перпендикулярная краю.
Также можно дополнительно установить способ вращения в «влево-вправо», это предотвратит переворачивание спрайта или клона, при отскакивании от края сцены.
Примеры использования
- Предотвращение частичного покидания спрайтом экрана
- Отражение
- Такие игры, как "Пинг-понг"
- Позволяет спрайтам отскакивать от экрана
- Когда пользователь хочет, чтобы определенный спрайт отображался на экране, не касаясь края.
когда щёлкнут по зелёному флагу
повторять всегда
идти (10) шагов
если касается края, оттолкнуться
end
когда щёлкнут по зелёному флагу
повторять всегда
повернуть вправо на (выдать случайное от (-10) до (10)) градусов
идти (3) шагов
если касается края, оттолкнуться
ждать (0.01) секунд
end
Предложения
Некоторые пользователи в форуме предложений запросили обобщенный блок оттолкнуться::motion
, который позволял бы спрайтам отталкиваться при столкновении с другими спрайтами или цветами.[1][2][3]
Однако они часто отвергаются, поскольку реализация такого блока требует вычислений.[4][5].
История
Блок был добавлен в Скретч 13Oct04. Он тогда назывался «Оттолкнуться от края». В следующей версии Скретча (28Feb05) блок был переименован в «Если касается края, оттолкнуться».
Обходной путь
Обходной путь меняет направлени спрайта если находится за краями экрана:
если <[240] < ([модуль v] от (положение x)::operators)>, то
повернуться в направлении ((0)-(направление))
end
если <[180] < ([модуль v] от (положение y)::operators)>, то
повернуться в направлении ((180)-(направление))
end
Однако этот обходной путь не является идеальным, поскольку оно не выводит спрайт за край экрана. Кроме того, поскольку направление спрайта изменяется на основе его координат, а не реальной формы, спрайты с костюмами, не центрированными относительно центра костюма, могут застрять на краю экрана, а не отскочить от него.
Ссылки
См. также
Cookie-файлы помогают нам предоставлять наши услуги. Используя наши сервисы, вы соглашаетесь с использованием cookie-файлов.