Unity3d:没有设置Drag& Drop

时间:2015-09-04 17:17:28

标签: unity3d unity3d-2dtools unity5

我正在开发OS X 10.10上的Unity 2D游戏项目,我无法拖动文件或文件夹,它会显示此错误。

No Drag&Drop has been setup. Please
UnityEditor.DockArea:OnGUI()

我试过了:

  1. 保存项目,然后重新启动
  2. 点击Assets文件夹,然后选择Reimport All
  3. 但它似乎不起作用,如何解决?

6 个答案:

答案 0 :(得分:10)

最近我遇到了同样的问题,我做的是退出Unity并强制通过活动监视器退出 pboard 进程,然后再次启动Unity,它对我有用。

答案 1 :(得分:4)

Unity使用NSPasteboard(用于剪贴板的OSX共享管理器)来保存Drag& Drop的数据,因此监视/修改剪贴板的任何进程都可能会使Drag& Drop陷入混乱。

我认为可能会有Chrome扩展程序生成通知,这些通知会因某种原因导致拖放。 停用Google Chrome中的所有扩展程序,如果这无法解决您在Unity中遇到的问题,请重新安装Google Chrome。

编辑:正如其他用户所建议的那样,另一种可行的解决方案是

  

退出Unity并强制通过活动监视器退出 pboard 进程   然后再次启动Unity。

希望它有所帮助。

答案 2 :(得分:1)

基于Sinyo提供的答案,我创建了一个小的shell脚本来加速这个过程,并且我想分享。 [仅限Mac]它关闭Unity,杀死pboard进程,然后重新打开Unity。

#!/bin/sh

osascript -e 'quit app "Unity"'

pid=$(ps -fe | grep 'pboard' | grep -v grep | awk '{print $2}')
if [[ -n $pid ]]; then
    kill $pid
else
    echo "Does not exist"
fi
osascript -e 'launch the application "Unity"'

答案 3 :(得分:0)

我知道这是一个老线程,但我想我可能会做出贡献。我在属性抽屉的实现中遇到了“No Drag& Drop”错误,并尝试了此处给出的所有提示但没有成功。我即将放弃并将其归咎于团结,但后来我找到了解决方案。你看,我正在设置对象引用并在mouseDown事件期间调用DragAndDrop.SetGenericData()方法。 我更改了它,以便在MouseDrag事件中我检查是否存在DragAndDrop(在DragAndDrop.GetGenericData()的返回中检查null)。如果为null,我在调用DragAndDrop.StartDrag()之前在MouseDrag上设置数据。 这解决了这个问题。希望它可以帮助别人。

答案 4 :(得分:0)

根据@user3130047的答案,这是另一个版本。仅限Mac。

  1. 退出Unity。
  2. 在控制台中,输入此命令并执行它。

    ps aux | grep pboard | grep -v grep | awk '{print $2}' | xargs kill -9 | launchctl start com.apple.pboard
  3. 打开Unity。

  4. 而已。

    但是,这可能会导致您的另一个打开的应用程序副本和粘贴不起作用。所以,你需要重新启动它们。

答案 5 :(得分:0)

这是获得最佳答案的最简单方法:

killall -HUP pboard

(显然来自终端或类似)