58 подписчиков

Плавные движения в Scratch

172 прочитали

Проект, который описан в статье, можно найти тут - https://scratch.mit.edu/projects/676818427/

Добавим какой-нибудь спрайт в наш проект, например, зеленую машину.

Проект, который описан в статье, можно найти тут - https://scratch.mit.edu/projects/676818427/ Добавим какой-нибудь спрайт в наш проект, например, зеленую машину.

Сделаем так, чтобы мы могли управлять машиной по кнопкам "стрелка вправо" и стрелка "влево".

Проект, который описан в статье, можно найти тут - https://scratch.mit.edu/projects/676818427/ Добавим какой-нибудь спрайт в наш проект, например, зеленую машину.-2

Сейчас наша машина двигается без ускорения, исправим это.

Для этого добавим переменную, которую назовем "ускорение".

Проект, который описан в статье, можно найти тут - https://scratch.mit.edu/projects/676818427/ Добавим какой-нибудь спрайт в наш проект, например, зеленую машину.-3

Ускорение должно повышаться, когда машина начинает движение и уменьшаться при остановке. Для повышения скорости при старте добавим следующий блок:

Можно изменить максимально допустимую скорость с 7, например, на 10 или 2
Можно изменить максимально допустимую скорость с 7, например, на 10 или 2

1. Мы задаем клавишу, при нажатии на которую будет двигаться спрайт(наша зеленая машина);

2. Изменяем переменную "ускорение" на небольшую величину;

3. Изменяем положение спрайта по координате x на величину переменной "ускорение";

4. Чтобы спрайт не разгонялся до больших скоростей, ограничиваем скорость спрайта, например, цифрой семь. Т.е. переменная "ускорение" не сможет быть больше 7, так как достигнув цифры 7 будет происходить вычитание 0,2 из "ускорения".

На данном этапе наш спрайт плавно разгоняется, но еще плавно не тормозит.

Для этой задачи добавим еще один блок

Проект, который описан в статье, можно найти тут - https://scratch.mit.edu/projects/676818427/ Добавим какой-нибудь спрайт в наш проект, например, зеленую машину.-5

Суть блока следующая - если клавиша "стрелка вправо" не нажата и ускорение больше 0, то от переменной "ускорение" отнимаются небольшие значения. Чтобы спрайт плавно останавливался следует изменять его положение по x на величину ускорения.

На этом этапе мы сделали плавный старт и остановку нашего спрайта в правую сторону.

Для плавного движения в левую сторону надо сделать все тоже самое, только с другой переменной и другой клавишей.

Например, можно добавить еще одну переменную с именем "ускорение -"

Проект, который описан в статье, можно найти тут - https://scratch.mit.edu/projects/676818427/ Добавим какой-нибудь спрайт в наш проект, например, зеленую машину.-6

И создать по аналогии с предыдущими блоками блоки для движения влево.

Проект, который описан в статье, можно найти тут - https://scratch.mit.edu/projects/676818427/ Добавим какой-нибудь спрайт в наш проект, например, зеленую машину.-7
Величину ускорения можно менять, например, вместо -0.2 поставить -0.5
Величину ускорения можно менять, например, вместо -0.2 поставить -0.5

Теперь наша зеленая машина может плавно двигаться влево и вправо.

Проект, который описан в статье, можно найти тут - https://scratch.mit.edu/projects/676818427/