Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d:无阻力&;Drop已经设置好了_Unity3d_Unity3d 2dtools_Unity5 - Fatal编程技术网

Unity3d:无阻力&;Drop已经设置好了

Unity3d:无阻力&;Drop已经设置好了,unity3d,unity3d-2dtools,unity5,Unity3d,Unity3d 2dtools,Unity5,我在OSX10.10上做一个Unity2D游戏项目,我不能拖动文件或文件夹,它会显示这个错误 No Drag&Drop has been setup. Please UnityEditor.DockArea:OnGUI() 我试过: 保存项目,然后重新启动 单击Assets文件夹并选择Reimport All 但它似乎不起作用,如何修复 Unity使用NSPasteboard(用于剪贴板的OSX共享管理器)保存用于拖放的数据,因此任何监视/修改剪贴板的进程都可能会干扰拖放 我认为可能会

我在OSX10.10上做一个Unity2D游戏项目,我不能拖动文件或文件夹,它会显示这个错误

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

  • 保存项目,然后重新启动
  • 单击
    Assets
    文件夹并选择
    Reimport All
  • 但它似乎不起作用,如何修复

    Unity使用NSPasteboard(用于剪贴板的OSX共享管理器)保存用于拖放的数据,因此任何监视/修改剪贴板的进程都可能会干扰拖放

    我认为可能会有一个Chrome扩展,它会生成通知,出于某种原因,会中断拖放禁用google chrome中的所有扩展,如果这不能解决Unity中的问题,请重新安装google chrome

    编辑:正如其他用户所建议的,另一个可能有效的解决方案是

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


    希望有帮助。

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

    根据我提供的答案,我创建了一个小型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"'
    

    我知道这是一条老线索,但我想我可能会有所贡献。我在一个属性抽屉的实现中遇到了“禁止拖放”错误,尝试了这里给出的所有提示,但没有成功。我本来打算放弃,把责任归咎于团结,但后来我找到了解决办法。你看,我在mouseDown事件期间设置对象引用并调用
    DragAndDrop.SetGenericData()
    方法。 我更改了它,以便在MouseDrag事件中检查是否存在DragAndDrop(在
    DragAndDrop.GetGenericData()的返回中检查null)。如果为null,则在调用
    dragandrop.StartDrag()
    之前,在MouseDrag上设置数据。 这解决了问题。希望它对其他人有帮助。

    根据客户的回答,这是另一个版本。只有Mac

  • 放弃团结
  • 在控制台中,放置此命令并执行它。

    ps aux | grep pboard | grep-v grep | awk{print$2}| xargs kill-9 | launchctl start com.apple.pboard
    

  • 公开团结

  • 就这样。


    但是,这可能会导致另一个打开的应用程序复制和粘贴不起作用。因此,您需要重新启动它们。

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

    killall -HUP pboard
    

    (显然是终端或类似产品)

    您指的是在“项目”选项卡的“资源”下移动文件/文件夹吗?看起来像是Unity bug,您是否尝试过其他/更新的Unity版本或修补程序版本?我指的是使用拖动的每个操作,例如将项目文件夹移动到另一个文件夹,将项目对象移动到场景。我想我应该升级到最新版本。我尝试了这个解决方案,我删除了Chrome并重新启动了Unity,但没有成功。我重新启动了macbook并禁用了Chrome extension
    push bullet
    ,它成功了。谢谢忽略这个答案,阅读下面的Sinyo的答案(或者希望有一天会在上面),我完全按照你说的做了,并且成功了。我也很感谢你。如果有人想知道原因,请检查。:)谢谢。把我从这个奇怪的问题中解救出来。