几个小技巧与坑
- 所有的UI都是文字和图片,其余都是附属于他们
- NGUI的文字是UILable组件,图片是UISprite组件
- 在相应面板进行修改的参数,通过代码
gameobject.GetComponent<UILable>.property
都能相应获取到并进行修改 - 图片的九宫格模式slip是用来处理背景图片在进行放大时不至于失真
- Widget是UIlable的组件,通过
uilable.getComponent<Widget>()
获取 - 我想通过代码设置UILable的文字样式即font,但是不知道怎么设置
- 在hierarchy面板只能有一个2dUI在编辑情况下,如果运行时创建label或者sprite,不指定父对象,会再创建一个2dUI
- 工具栏左上角的五个小图标,第五个是负责2d情况下,组件的移动和旋转,只有在第五个图标的情况下,右键单击才会出现NGUI的快速创建菜单,注意在2d模式下
- 旁边的Gizmos可以修改摄像机图标的大小
- 按钮点击事件有两种操作,第一是在代码里面创建OnClick函数,系统会自动在点击的时候调用,第二是在代码里面创建任意的函数名字,然后添加到UIButton的OnClick事件里面
- 加载资源时,需要预先放置在Resources文件夹里面,
Resources.load<Atlas>("图集名字")
- 建立UI时,创建层级关系
- 在Texture文件夹建立UI子文件夹,这样创建图集时直接打开该文件夹即可
- 我的相机会莫名其妙变黑,只好重启项目
- 我试图在类的字段里面初始化一个gameobject对象,结果失败,只能在start函数和update函数里面创建
- 我很好奇怎么在一个方块上显示字体,我尝试创建一个cube,然后添加UILable组件,但是没有效果
- 下面内容是溢出模式
- shrink 收缩(无论怎么调整,都不变)
resize height 调整高度(宽度不变)
resize freely 随着一起变化 - 文字对齐方式里面,justfied是分布对齐
- 我可以创建多个脚本,然后挂载到同一个物体身上,至于这样会有什么影响,后续再研究吧
- 按钮点击事件的顺序 添加box collider,添加button script,编写函数
- 可以添加play sound script,这样就可以在点击时候播放声音
- UILable只需要注意privot即中心点和对齐方式,以及溢出方式即可
- 还有一点,UILable字体font样式,分为NGUI自己的文字格式和Unity两种,我们也可以自己添加同归
- 注意:NGUI提示,动态字体,不能被做成atlas的一部分,使用动态字体至少会增加一次draw call。
注意,只有脚本里面设置为public的方法,才能在inspector界面显示出来
制作字体的三种方法,回头再看啦https://blog.csdn.net/u010975088/article/details/51566735