Плыть () секунд в точку 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-файлов.