专栏首页韩东吉的Unity杂货铺零基础入门 7: 创建自己的菜单

零基础入门 7: 创建自己的菜单

在上一篇菜单介绍分享之后,有一些小伙伴在后台留言说能不能分享下如何创建自定义的菜单栏?怎么创建?

今天这篇就来分享一下如何在项目内创建属于自己的菜单栏。也是2016年最后一发更新。

直入主题,今天的这节分享,可能对不会写脚本的小伙伴来说,会有一些内心的抗拒,要写脚本?我不会啊,会不会很难?

其实很容易,我会尽量把分享做的更直观,更容易些。实在不行,可以照葫芦画瓢么?对吧。

★开始★

首先我创建一个空项目,取名为CustomMenu。然后创建一个空的脚本,取名为CustomMenuScript

可以看到现在菜单上都是新创建项目自带的,并没有我们自定义添加的。

双击脚本,用编辑器进行编辑

不会写脚本的同学也没关系,按照我的步骤来就可以。关于如何创建脚本后自带模板内容,大家可以翻看之前分享的内容。

打开脚本文件后,增加编辑器宏限制。

如下图

为什么要增加这个呢?这样就相当于告诉Unity,我的这个脚本,只在编辑器模式下运行工作。

然后第二步,引入UnityEditor命名空间。因为只有引入这个命名空间,才可以创建自定义的菜单。

然后下一步,我们先随便定义一个static的静态函数。我起名为CustomMenu。这个函数是public还是private的并不影响我们创建自定义的菜单。

然后我们在函数上方,给我们的函数增加attribute。

[MenuItem("Jimin/CustomMenu")],字符串"Jimin/CustomMenu"就是我们自定义菜单的名字,/是代表菜单的层级。即CustomMenu是Jimin菜单下的子项。

此时,我们切回编辑器,就会发现你所命名的菜单已经出现了。

至于菜单里要实现的事,就等着你们根据功能自己去实现啦,比如打开一个窗口,实现一个什么样的功能,都可以在函数体里进行实现。

我先输出一句日志,来看一下测试效果。

来切回项目里,点击一下customMenu菜单来测试一下效果

同样的,我们可以在项目开发中,将所有自己开发的功能或者编辑器窗口都放到自己的菜单下进行统一管理和使用。

我简单的写一些代码来展示一下层级的功能,如图内的一些菜单及实现效果。

切回到项目里来测试一下效果。

然后我们来点击一下,看一下具体效果。

如上图可以看出,我们在对菜单有一些管理的时候,我也做了几种对日志的不同操作。看具体代码可以看出来,普通的Debug日志输出就是白色的,我们也可以通过富文本来实现对日志颜色以及大小的控制

我又将颜色更改为绿色。图中的#1AFF07FF就代表了绿色的值。

这样我们就完成了自定义菜单的创建。

可是......

总感觉少了点什么?

没错,那就是快捷键,虽然自定义菜单有了,但是每次都要点点点,总是有一些不方便,如果可以给常用的菜单增加快捷键,那岂不是完美?

说做就做,搞起来。

首先我们来记录一下Unity快捷键的对应值。

% 代表 Ctrl

# 代表 Shift

& 代表 Alt

举例如,我们将输出颜色日志,增加一个快捷键。control+alt+c,快捷键写在MenuItem菜单名字的字符串后就行

到项目内看一下是否成功呢?

动图展示一下点击菜单效果和快捷键效果。

好了, 创建自己的菜单就这样结束咯。如果不是很熟悉的同学,亲自动手写一下就会慢慢熟悉啦。

最后,2016年最后一更,祝大家元旦快乐~~~~新年...新...的开始。

有问题可以在下方点击留言哦,也可以留言告诉我,你最想知道什么内容的分享。

(๑•ᴗ•๑)...

明年见~

本文分享自微信公众号 - 韩东吉的Unity杂货铺(DeveloperJimin),作者:Jimin

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-12-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 零基础入门 6: 菜单介绍

    每个月总要忙那么一段时间,因为之前的存稿保持在日更,导致后续忙起来没有时间来得及写新的内容,就一直没有更新。今天趁着午休来更新一篇。主要说下Unity里复杂的菜...

    韩东吉
  • 零基础入门 30:获取移动端手机的电量/时间/网络

    大家在玩手游的时候经常会看到游戏里有一些提醒状态,图示如下,右上角有当前手机端的时间,wifi网络状态展示,以及电量的展示效果

    韩东吉
  • 零基础入门 20: UGUI DropDown

    (题外话,因为这期分享中段制作之后,微信平台抽疯,Gif图无法使用,导致我不得不尝试用其他的方式来让文章看起来没那么死板,在后面的部分展示中,我插入了视频文件而...

    韩东吉
  • 今天吃什么?这个历史难题就交给它了!

    而知晓程序(微信号 zxcx0101)现在推荐的这款小程序「今天吃什么 Lite」,用最简单粗暴(误)的方式,帮你摆脱选择困难症。

    知晓君
  • Python学习-比较运算符和逻辑运算符

      and  布尔"与" - --  如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值

    py3study
  • 从 N 次失败中找到进入大厂的一些小招

    大家好,我是来自蚂蚁金服花呗 & 借呗团队的前端工程师,我的花名是井葵。我这次分享的主题是《从 N 次失败中找到进入大厂的一些小招》。

    若川
  • Spring IOC Notes-Core method analysis

    itliusir
  • 聊聊jest的NodeChecker

    jest-common-6.3.1-sources.jar!/io/searchbox/client/config/discovery/NodeChecker....

    codecraft
  • 聊聊jest的NodeChecker

    jest-common-6.3.1-sources.jar!/io/searchbox/client/config/discovery/NodeChecker....

    codecraft
  • python输出emoji表情?一些有趣的code分享

    Counter会统计出来每个元素出现的次数,most_common可返回出现最频繁的两个元素及其次数。collections这个包非常好用,比如里面的defau...

    生信编程日常

扫码关注云+社区

领取腾讯云代金券