unity3d之NGUI学习流水账

博主是跟着视频教程学的,所以最新版的u3d是否已经自带这个功能博主没有考究过。

但是视频是2015下半年的教程,当时的u3d还是需要自行导入NGUI包的。

1.首先需要下载NGUI包。点此进入ngui3.9.0下载页

2.下载后将该文件导入Assets,可以直接拖入,也可以在Assets 中右键,Import Package》Custom Package,如下图所示:

ps:可能会提示API Update Required,我选择了No Thanks。

3.将控件栏中默认的Main Camera和Directional Light删除。(在菜单栏中可以找到NGUI菜单项,通过里面的create自行创建内容。)

4.依次点击菜单NGUI》Open》Prefab Toolbar,会出现一个窗口如下图所示,里面提供了很多控件,然后点住窗口名拖到Hierarchy旁边。

5.向Assets文件夹中创建一个Texture文件夹,向其中拖入如下几张图片:

earth:

playButton001:

playButton002:

6.依次点击NGUI》Open》Atlas Maker(图集制作者),然后选择playButton001和playButton002,将其添加入Atlas Maker。然后点击create。如下图:

7.将其命名为Button,存储至Assets下的prefabs文件夹内(如果不存在自行创建),创建完会发现生成了的一个图集,图集长宽尺寸均为2^n,因为这可以达到最大的压缩比例,可以占用最少的空间

8.NGUI》Create》Sprite。将创建的sprite改名为“play”。(sprite中文名为精灵,其实就是一个game object而已)

此时“play”的预览图如下:

9.在“play”的属性栏中,找到“Add Component》NGUI》Interaction(交互)》Button”,此时运行后“play”精灵不可用呈现灰色。为了让“play”可用,需要添加一个碰撞体。

10.在“play”的属性栏中,找到“Add Component》Physics》Box Collider”,此时再次运行就能查看到效果:鼠标移上去后play会变大。

ps:啥?没效果?那就把Box Collider的Size尺寸变大点就行了!

11.给“play”按钮添加点击事件,即创建一个脚本后拖动到“play”上,运行即可看到运行结果。记住,点击事件,NGUI中规定必须是OnClick,代码如下:

public void OnClick(){
    Debug.Log (123);
}

12.如果点击后想要调用自定义函数名,或者调用别的对象的方法,可以这么做:

先创建一个新的脚本,将其拖动到“play”上,脚本内容如下:

public void showLog(){
    Debug.Log (456);
}

然后在“play”的属性表中,有一个OnClick属性栏,将“play”拖进去,然后选择showLog()方法即可。如下图:

运行结果如下图:

原文地址:https://www.cnblogs.com/chenyangsocool/p/6957688.html