Материал из Скретч Вики

< Блок движения

Блок
Изображение блока
плыть () секунд в точку x: () y: ()
КатегорияДвижение
Версия СкретчСкретч 3.0
Код scratchblocksплыть (1) секунд в точку x: (0) y: (0)
Тип блокаОбычный блок

Плыть () секунд в точку x: () y: () - Блок движения, по форме Обычный блок. Блок двигает свой спрайт в выбранные положения x и y, соответствующие выбранным секундам. Однако недостатком блока является то, что он приостанавливает скрипт пока спрайт движется, предотвращая выполнение скрипта пока спрайт скользит. Кроме того, скольжение может быть прервано только блоками, останавливающие скрипты, а блок Если касается края, оттолкнуться не может выполнять свою функцию пока спрайт скользит.

Примеры использования

Этот блок используется для спрайтов, которые должны скользить - некоторые частые использования:

  • Рыба, движущаяся в аквариуме
повторять всегда
плыть (выдать случайное от (1) до (2)) секунд в точку x: (выдать случайное от (-240) до (240)) y: (выдать случайное от (-100) до (100))
  • Создавать препятствия, которые скользят к краю экрана, как в Frogger
когда я получу [StartCars v]
спрятаться
установить x в (240)
повторять пока не <(gameOver) = [1]>
создать клон (самого себя v)
ждать (3) секунд
end


когда я начинаю как клон
показаться
плыть (5) секунд в точку x: (-240) y: (положение y)
удалить клон
  • Падающие объекты
установить y в (180)
плыть (1) секунд в точку x: (положение x) y: (-180)
  • Спрайт двигается к другому
плыть (1) секунд в точку x: ([положение x v] от (Спрайт 2 v)) y: ([положение y v] от (Спрайт 2 v))

Сравнение блоков скольжения и перемещения

Этот скрипт использует блок Идти () шагов чтобы переместиться с левого края до правого за 8 секунд.

установить x в (-240)
повторить (80) раз
идти (6) шагов
ждать (0.1) секунд

Этот скрипт делает тоже самое с скольжением.

установить x в (-240)
плыть (8) секунд в точку x: (240) y: (положение y)

Эффект легкого скольжения

Блок Плыть () секунд в точку X: () Y: () перемещает спрайт линейным образом, что означает, что спрайт все время движется с одной и той же скоростью. Однако довольно легко воспроизвести эффект "ослабления", который широко используется в графическом дизайне, когда объект замедляется по мере приближения к своей цели.

когда я получу [tween v]
повторять пока не <<([abs v] от ((target x) - (положение x))::operators) < [.25]> и <([abs v] от ((target y) - (положение y))::operators) < [.25]>>
изменить x на (((target x) - (положение x)) / (2))
изменить y на (((target y) - (положение y)) / (2))
end
перейти в x: (target x) y: (target y)

В качестве альтернативы можно использовать следующий скрипт, который, наряду с эффектом облегчения, позволяет выбрать, сколько времени потребуется, чтобы добраться до нужной положении. 200 - это положение (в данном случае по оси X), к которой должен скользить спрайт. Два блока Положение X могут быть заменены блоком Положение Y, если спрайту необходимо переместиться по оси Y. Число 10 - это количество секунд, затраченных на достижение нужной позиции, умноженное на 10.

когда я получу [tween v]
повторять пока не <(округлить (положение x)) = [200]>
изменить x на (((200) - (положение x)) / (10))
end
установить x в (200)

См. также


Блоки
Движение
Внешний вид
Звук
Переменные
События
Управление

Сенсоры
Операторы
Перо
ш о
Cookie-файлы помогают нам предоставлять наши услуги. Используя наши сервисы, вы соглашаетесь с использованием cookie-файлов.