怎么了解Unity2017年最新菜谱的菜单内容

现在我已经安装了 Chromium 和Tweet甲板现在峩卸载了Tweet甲板之后,问题是当我安装Tweet时,问题是我想创建一条捷径,我选择 YES 现在都被卸载了,Tweet icon 仍然出现在互联网上的Unity菜单上

我试圖从菜单中删除 icon,但是我不知道该怎么做 这应该是一个简单的事情,但给我带来了麻烦:p

我要做的是删除 Chromium 中的快捷方式和可能的垃圾文件

( 抱歉,如果我写错了


似乎无法从线程中删除应用程序但你可以在以下目录之一管理启动器( *。桌面文件):

如果启动程序文件位于前两个目录中则需要 root 权限才能删除它。


我使用的应用程序调用收费为 alacarte 它允许你从菜单中移除不想要的启动器或者创建/添加新的启动器。 我不嘚不在Ubuntu中自己安装这个应用 IMO这个应用程序应该是默认Ubuntu安装的一部分。


我也有同样的麻烦删除 Firefox icon 从Unity发射器 我安装了两个 Firefox 样本: 除了 *.deb, 以及从Φ获取的一个以后,在除去 Firefox 之后icon 仍然显示在统一发射器中。

在dpkg中查找软件包


找到了当我们知道包裹的名字时我们可以移除它的残余 !

僦是这样多余的icon 从发射器上消失了。


现在我在一个应用中遇到了类似的问题 接受答案的问题是桌面文件可以存储在许多它的他位置,而鈈仅仅是那个 ~/.kde/share/apps/RecentDocuments/

因此,我可以在这种情况下使用 find 实用程序 为了避免太多的输出,需要确保字符串是应用程序的桌面文件名的一部分

例洳("iname"代表大小写不区分大小写,* 是通配符它表示任何字符代替它):


也应该尝试在系统上的所有桌面文件中搜索特定的字符串,如下所示:


然後删除所有找到的文件并注销

这应该有助于OP从菜单中删除那些图标。


首先卸载应用程序然后删除以下文件夹中的所有引用:


重新启动。但从未解决过我的问题

安装了这里菜单编辑器:



右键单击应用程序的icon。 在出现的下一个屏幕上选择"卸载"按钮。 应用现在应该被卸载


Unity编辑器最重要的一个性能就是它嘚高度可扩展性你可以创建任何你能想像出来的工具,并把它集成到Unity的菜单来让你的团队成员快速使用Unity已经发布了一个关于自定义菜單的基础的帖子,你可以在

这里找到它(但这不是前提需求)

Unity关于菜单项的文档对学习扩展Unity菜单系统的基础很有用,但它没有给出关于哬时使用每个菜单的指南进一步说,许多菜单的特殊行为没有被很好的解释

这篇文章我将更深入的解释如何扩展菜单系统,何时使用烸种菜单类在每个菜单背后隐藏着什么特殊行为。

所有可以在unity里扩展的菜单

这里是所有可以被轻松扩展的菜单的截图这些菜单是:

顶蔀所有内建菜单(A,BC和D)

新的自定义的菜单(E)

Unity允许开发者添称为自定义菜单项的新条目到菜单栏上的所有菜单里。从自定义菜单项里能够调用任意静态方法所以你能在方法里做的事就能从菜单去调用。你可以在菜单里创建任意数量的子菜单或者扩展已经存在的菜单,如“Assets/’Create”如果Unity默认菜单没有一个是适合的,你就能创建全新的菜单(在Assets、GameObject等的旁边)

一个自定义新的菜单项的例子,自定义菜单项處在一个已经存在的菜单的子菜单下

每个菜单项也有几个可以自定义的属性你可以指定自定义菜单项在每个菜单里的顺序(在限制之内),可以给每个菜单项一个快捷键连接到验证方法来决定是否禁用这个菜单项。

****如何创建一个自定义的菜单栏**

为了给一个自定义的菜单項指定一个方法你只需要给静态方法添加[MenuItem] 属性(attributes)(如果你不熟悉attributes参见

MSDN documentation)。方法的访问性(公有/私有)、返回类型和名称都无关紧要MenuItem屬性(attributes)在UnityEditor命名空间下,所以你需要包含这个命名空间并把脚本放到名为Editor的文件夹下如果你不熟悉特殊文件夹命名的话,参见

Path参数的一些额外注意事项:

· 如果首个词是已经存在的菜单名字(“Assets”, “Window”等)你的菜单项将被添加到这个菜单下(除了Component,稍后详细介绍)

· 你必須指定一个根菜单和一个菜单项名字

· 允许在所有菜单名以及菜单项名字中出现空格

· 可以选择在项名字加空格后的地方指定一个按键来設置快捷键(参考Unity的脚本API的 快捷键)

这个例子代码在GameObject菜单创建了一个菜单项,在选中该项时会在场景中创建一个名为“RedBlue GameObject”的新的游戏对象

MenuItem属性的另一个实现方法就是添加验证方法的连接以及指定你菜单项的排列顺序的功能。

isValidateFunction—?当置为真使得这个方法在相应的方法(另外一个有MenuItem标签的有相同路径的方法)可以运行前被调用。这个特性很有用但有点超出了本文的范围,所以阅读此文来找出更多关于有效菜单项的东西()

Priority—?这个值指定菜单项出现在每个菜单中的顺序。

菜单项的排序需要一点猜测Unity菜单的每个菜单项有一个未知的优先級,找到菜单项需要放置的地方是令人苦恼的我分类了常见菜单优先级在这篇里。

因为没有限制怎样使用菜单这取决于开发者了解每個菜单背后的意图。这部分将讨论每个菜单的作用以及何时使用

Assets菜单包含创建或者修改工程内资源的方法。我知道这很明显但是稍微鈈那么明显的是这个列表里的菜单项在你右击工程面板的时候也会出现。此外如果你把菜单项放入Create子菜单下也同样如此。

Assets菜单里的菜单項出现的其他地方

应该使用Asset菜单的例子:

创建脚本对象——所以我们自定义的脚本对象可以通过Assets/Create子菜单来创建

重命名Spritesheet——右击一个有多个精灵的纹理激活一个菜单项帮助快速重命名所有子精灵

GameObject菜单包含与场景中游戏对象一起使用的方法。例如创建一个新的游戏对象或者編辑一个已经存在的游戏对象。菜单的子项在你右击一个游戏对象的时候也会出现点击Scene Hierarchy窗口下的Create也会出现。

为了使菜单里的菜单项能够通过右击和Create按钮访问它们必须被放到一个现存的子菜单中,如 Object或者UI如果现有的子菜单不适合,就可以通过添加一个新的菜单项到右击菜单中但要就优先级要低于50.这实在看起来太容易了,Unity也可能在未来对此做出更改

注意,如果你的工具添加组件到游戏对象上你应该選择使用Component菜单。

应该使用GameObject菜单的方法的例子:

· 创建任何预定义的游戏对象比如一个预设的实例—比如你应该使用一个菜单项去在一个噺场景里设置一个自定义的相机。

Component菜单下的所有菜单项添加组件到选中的游戏对象上Unity强制你不能添加带有[MenuItem]属性的菜单项到这个菜单下面。Unity添加一个不同的属性[AddComponentMenu]来代替需要放置到一个继承自MonoBehavior类上。这个MonoBehavior类型的类在你选择相应的菜单项的时候就自动被添加

用[AddComponentMenu]属性标记一个類将让它出现在顶端菜单栏和AddComponent(当你在浏览一个游戏对象Inspector面板下的组件的时候可以看见)的列表中。属性采用路径作为参数路径可以被分解荿子菜单项,跟普通的MenuItem属性一样

这个菜单不能排序菜单项,然而你可以把元素添加到一个存在的子菜单中

我们添加的自定义的菜单项茬Component菜单中看起来是这样的:

这几个很简单。这些菜单里的菜单项不会出现在Unity内的任何其他环境下的菜单里在工具会打开一个新的窗口并苴不适合任何其他菜单的时候,我选择放入Window菜单Edit菜单下放置同时修改游戏对象和资源的工具,比如自定义的复制或者重命名我也用Edit来展现一个自定义工具的持久化的设置,因为我把它们看做是Unity工程设置的一个扩展

如果没有一个现存的菜单对你的工具的功能来说有意义,就可以创建一个自己的新的菜单注意Unity并不推荐这样,由于资源在工程和团队之间的共享很容易导致菜单栏的混乱我们避免创建新的菜单“Red Blue Games”以及希望工具总是根据功能分组。添加自定义的“Red Blue Games”菜单会引起在“Assets”中使用自定义工具和“Red Blue Games”的混淆

为你的菜单项找到想要嘚排序真的很痛苦。最快的排序方法就是不排序0.0但有时真的想要把自己的菜单项放到菜单下的一个特定地点。下面就是你排序菜单项时需要了解的

菜单项按优先级从低到高排列,子菜单中也是根据调用顺序来分块。如果你的菜单项优先级上一个菜单项的优先级高11及以仩Unity将在这个菜单项之前创建一个分割线。自定义菜单项没有指定优先级的话就会默认指定优先级为1000

为自定义子菜单组自身排序的优先級是有小技巧的(相对于菜单项来说)。子菜单组将在第一次被创建的时候根据自定义的菜单项的优先级来进行排序所以,如果你在创建了一个新的自定义的优先级为900的菜单项(Item A)在一个子菜单(在Window菜单内)中这个子菜单就会出现在Window菜单优先级为900的位置,它里面的第一個菜单项也是如此这个子菜单下的新的优先级为911的项将会带有分割线的排在Item A项后面。

这就是排列顺序的原理但如果你真的想要去使用咜,就必须去知道默认菜单项的排序我弄了几个Unity原生菜单排序细节的截图,在Unity 5.3.3版本里

“Undefined”指的是这些菜单项的排序没有一个特定的排序。这些菜单项似乎实际上都被看做是1000.

记住GameObject菜单的优先级低于50的菜单项(和现存子菜单的菜单项)也会出现在Hierarchy视图的右键菜单中你不能茬这个菜单里创建分隔线。

我将把FileEdit和Unity菜单作为练习,留给读者(做这些还要下点功夫)你可以通过这个Unity反编译工程来照出一些默认排序信息,或者就随机排列你的菜单项(提示:你可以给一个功能加上若干个[MenuItem])

我要回帖

更多关于 2017年最新菜谱 的文章

 

随机推荐