这在Scratch Wiki上有所涉及.
boisvert的答案在技术上是正确的,但是,他的脚本总是会从它的中心拖动精灵.使用稍微更高级的脚本将从拾取的位置拖动,更像挂锁:
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
Run Code Online (Sandbox Code Playgroud)
(上面的wiki链接是可视块格式.)
单击精灵名称旁边的挂锁。它将打开。然后该Sprite在可执行版本中变为可拖动。
或者,您可以使用脚本来编程其拖动行为:
if <mouse down>
set x to (mouse x)
set y to (mouse y)
Run Code Online (Sandbox Code Playgroud)
它可以变得更聪明,可以在延迟的偏移位置上跟随鼠标,在放下时捕捉到某个位置,在鼠标经过时突出显示某些内容...如果使用脚本,则选择是无限的。