Как перетаскивать спрайты во время выполнения в Scratch?Перетаскивание спрайтов в Scratch
ответ
Нажмите на замок рядом с именем спрайта. Он будет выглядеть открытым; то спрайт становится перетаскиваемым в исполняемой версии.
В качестве альтернативы, вы можете запрограммировать его тащили поведение с помощью сценария:
if <mouse down>
set x to (mouse x)
set y to (mouse y)
может быть более умным, чтобы следовать за мышью смещенной позиции, с задержкой, привязка к позиции при падении, выделите что-то, когда оно пройдет над ним ... Если вы используете скрипт, ваш выбор безграничен.
Это воняет, но я обнаружил, что вам нужно «остановить» ваш скрипт, а затем работать над сменой костюма. Я работаю над проектом в моем окружении с нуля, когда парень должен перепрыгнуть через вещи, и для того, чтобы настроить программу, я должен остановить скрипт и настроить изменчивость костюма. Так что это воняет, но вам нужно остановить программу, прежде чем менять предпочтение костюма.
Это покрытие находится на Scratch Wiki.
boisvert's answer технически корректен, однако его сценарий всегда будет перетаскивать спрайт из его центра. Используя немного более продвинутый сценарий будет тянуть с места он был подобран, больше похож на висячий замок:
when green flag clicked
forever
if <<mouse down?> and <touching [mouse-pointer v]?>>
repeat until <not <mouse down?>>
set [offset x v] to ((x position) - (mouse x))
set [offset y v] to ((y position) - (mouse y))
go to x: ((mouse x) + (offset x)) y: ((mouse y) + (offset y))
end
else
wait until <not <mouse down?>>
end
(Ссылка вики выше имеет этот формат визуальных блоков.)
Для быстрой и простой маршрут, все, что вам нужно сделать, это нажать кнопку информации спрайта: Click here for image 1.
После этого вы должны найти поле, в котором говорится: can drag in player
и нажмите на него: Click here for image 2.
Это на самом деле это. Теперь, когда кто-то играет в вашу игру, они могут перетаскивать спрайт. Вам просто нужно сообщить им, что это возможно, поскольку большинство проектов этого не допускают.