Unity3D的GUI插件(UIToolkit,GUIX)

摘要:
在Unity社区中,我发现了一个很好的UI插件——UIToolkit。https:最后一个是这个插件的核心代码。这一侧被命名为“UILayer”3。将UI.cs脚本拉到上面创建的对象,并将设置面板中的UILayer属性设置为在1中创建的新层的名称。将其图层设置为1中创建的图层。7.在Start函数中创建UI。不要在Awake中创建UI,因为此时可能无法初始化UI。

在Unity的社区里发现一个不错的UI插件----UIToolkit.

https://github.com/acron0/UIToolkit/downloads

下载资源包后,导入到Unity3D中即可。可以看下如下的一些东西:

Unity3D的GUI插件(UIToolkit,GUIX)第1张

上面三个是显示的DEMO,最后一个就是这个插件的核心代码了。

使用步骤:

1.创建一个新的层。这边我命名为“UILayer"

2.创建一个空物体(empty GameObject),并放在(0,0,0)的位置。这边命名为"UILayer"

3.把UI.cs这个脚本拉到上面创建的物体,在设置面板中设置UILayer的属性为1中创建的那个新的层的名字。

4.在main camera中的Culling Mask中移除1中创建的层的名字”UILayer",这样这个层就不会被渲染两次。

5.创建一个新的空的GameObject,这边命名为UIToolkit

  把它做为2创建的物体的子物体,

  将它的Layer设置为1中创建的层,这边为“UILayer”。

  将UIToolkit.cs拖给它。

6.设置属性面板中的texturePackerConfigName,暂时我们可以用它自带的kitchenSinkSheet。

7.在Start函数里创建UI,不要在Awake中创建UI,因为这时有可能UI的东西还没初始化完。

8.创建一个CS脚本,命名为UIManager.在其中的Start添加如下代码:

        var scores = UIContinuousButton.create( "scoresUp.png", "scoresDown.png", 0, 0 );
scores.positionFromTopLeft( .24f, .02f );
scores.centerize(); // centerize the button so we can scale it from the center
scores.highlightedTouchOffsets = new UIEdgeOffsets( 30 );



9.在场景中创建一个空的gameObject,用来挂载我们初始化UI的脚本。

点击play按钮:

Unity3D的GUI插件(UIToolkit,GUIX)第2张

成功的添加一个按钮。

再发一个DEMO的图,感觉他做的资源有点丑。。。

Unity3D的GUI插件(UIToolkit,GUIX)第3张

还有一个更牛B的,GUIX

http://www.ennanzus-interactive.com/developer/GUIX/

公告说因为Unity3D要自己搞一个UI编辑器了,所以他们把这个开源了。

这次去开发者大会,了解了下大家比较常用的有两个:

EZGUI,NGUI。这两个是收费的。不过在国内,你懂的。。。

可以看一个简单的教程:

http://game.ceeger.com/Unity/Doc/ezgui/Simple_introduction.html

免责声明:文章转载自《Unity3D的GUI插件(UIToolkit,GUIX)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇黑客如何破解验证码机制Android ROM 拆包和打包下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WebView2简单试用(六)—— 常用设置

初始化时设置 WebView2的初始化方式如下:     var env = await CoreWebView2Environment.CreateAsync();    await webView.EnsureCoreWebView2Async(env); 它可以通过创建一个变量来初始化,这个变量的工厂函数定义如下:     public stat...

如何防止Unity3D代码被反编译?

欢迎访问网易云社区,了解更多网易技术产品运营经验。 网易云易盾移动游戏安全技术专家陈士留在2018年Unity技术路演演讲内容中对这个问题有过比较详细的介绍,摘录如下: 防止Unity3D代码被反编译其实就是常见的Unity手游风险中的破解风险。 一、Unity面临的破解风险 Unity的破解风险主要有Unity mono脚本解密、Unity il2...

npm script 自动打开浏览器 All In One

npm script 自动打开浏览器 All In One npm script 自动打开浏览器,bin open / node.js 兼容 mac/pc API It uses the command open on macOS, start on Windows and xdg-open on other platforms. source-code...

C#如何优雅地取消一个流程(非Thread.Abort方法)

一. Thread.Abort() 的缺点 我们使用 Thread.Abort() 来中止一个包裹着某个流程的线程,虽然 C# 并不会像 Thread.Suspend() 提示过时。但是在使用 Thread.Abort() 的时候,确实存在很多的问题: 1. 该方式中止线程是通过在线程执行的时候抛出 ThreadAbortException 异常来实现的。...

vscode+vue不得不用的插件和不得不添加的配置

先吐槽一下:第一次用vscode,真是心酸,要啥没啥,代码基本错误检测没有也就算了,Html标签自动补全也没有(当然,其实是有的,只是需要用户自己配置),这些都不能在安装或者初始化的时候一起装了吗,还非得要一个个百度然后找插件,心酸。。。 吐槽归吐槽,会用谷歌百度就是大佬。 文件自动保存设置 vscode的强大之一便是自动编译,无需刷新页面,但自动编译是需...

Web前端开发最佳实践(9):CSS代码太太乱,重复代码太多?你需要精简CSS代码

前言 提高网站整体加载速度的一个重要手段就是提高代码文件的网络传输速度。之前提到过,所有的代码文件都应该是经过压缩了的,这可提高网络传输速度,提高性能。除了压缩代码之外,精简代码也是一种减小代码文件大小的手段。以下将讨论CSS代码相关的代码精简方案。 定义简洁的CSS规则 CSS的每条规则中都包含了规则的属性及属性值。定义简洁的CSS规则主要是指合并相关规...