困扰已久的NGUI中UIGrid网格刷新的问题

之前很久有遇到这问题,解决了是个很小的事情,就加个命令.repositionNow = true;就搞定了,可不知道一直是尝试直接写位移,不用这个风格,单列还好,多列就得计算数量,也是挺麻烦的。
.GetComponent<UIGrid>().repositionNow = true;
上面这段轻轻松搞定,呵呵 。

关于Ngui 屏幕适配问题

因为主要是面对IOS平台,安卓的多种屏幕比例就暂时不做考虑,960*640这个尺寸目前使用比较少吧,目前主流手机比例,也是开发时使用的尺寸为1136*640,所以宽高比就用这个了。

把这个脚本Add到NGUI的UIRoot同一个GameObject中。

NGUI中的以高度为适配,在使用横版游戏中时,感觉不够用啊。

链接一:http://blog.csdn.net/oskytonight/article/details/46128369

链接二:http://blog.csdn.net/onerain88/article/details/11713299/

链接三:http://blog.csdn.net/dingkun520wy/article/details/26084045

【转载】关于Unity3D中Resources动态加载NGUI图片的方法

在NGUI中有些图片我需要动态进行变更或者加载,怎么办?

首先在项目中创建一个Resources目录,接着把需要的图片放在这里面,可以有子文件夹么?当然可以,文件结构很重要哦~

NGUI加载图片的方法其实是加载NGUI生成的atlas,大家可以看看NGUI的图集文件(一个material、一个prefab,一张图集),我们要做的就是动态加载这个prefab(它有UIAtlas属性),然后通过图片名称更改图片。

我这里那UISprite来说明,我是这样做的:

UIAtlas tu = Resources.Load(“Cards/ 001”, typeof(UIAtlas)) as UIAtlas;

对于上面这行需要注意,后面的type,单独写括号里面的typeof(UIAtlas) 是不行的,后面还要更上 as UIAtlas,

如果你的是GameObject的话就是这样:

GameObject tu = Resources.Load(“Cards/ 001”, typeof(GameObject )) as GameObject ;

明白了吧。。。。

Sprite sprite = _Player; //_Player是暴露变量,用来记录外面的UISprite,你懂得

sprite.atlas = tu;

sprite.spriteName = “photo”; //这里跟上这个atlas里面的图片的名称

sprite.MakePixelPerfect(); //这里记得要make一下,不然_Player的大小是不会变化的,看你个人需要

Debug.Log(“资源加载完成”);

链接:http://www.mamicode.com/info-detail-307545.html

Unity4.x升级到5.x时遇到NGUI的问题

遇到问题的提示:

NGUI有关Unity4.x升级5.x打包出错问题
NGUI有关Unity4.x升级5.x打包出错问题

有可能是昨天我把Unity中ngui的Input脚本我把他注释掉了。

我是把UNITY_4_3直接改成自己目前应用的5.x版本,目前暂时没有了昨天的报错问题。

 

NGUI中如何找到Scroll View滚动的ID

方法一、

之前的方法存在问题,得同事的帮助,现在使用一个更准确的方法:


方法二、

此方法也是根据命名来得到ID,不过不够精准。

NGUI找到滚动的ID

如图,因为滚动各等级的装备时,原来的一些显示信息和名字等跟导弹是一起滚动的,这样的话无论是美术表现还是真实效果都不理想,应该把显示的信息界面固定化,只是数据在变化就好了。所以要找到滚动到当前页面时,判断出当前的ID就可以解决问题了。

NGUI找到滚动的ID1
打开UIDrag Scroll View脚本

打开Drag Scroll View这个脚本,在void OnDrag (Vector2 delta)中添加一段,把当前的命名转化为ID,注意要把每一栏的命名为ID的数字。

NGUI找到滚动的ID2
命名要写成ID的形式

然后在引用这个全局ID就可以了。

 

【Unity】如何在子物体中按名字查找物体的问题。

今天请教同事,把这个方法应用起来了,因为在实战中也一直为这个头痛着,之前一直是用推动引用对象到脚本中来实现的,带来的问题就是管理不方便,也容易出错。先把脚本贴出来:

新建一个脚本,把这个放公用脚本之中:

然后在需要使用查找物体中的Start中引用这方法即可:

 

 

【Unity】解决NGUI的TweenPosition运行游戏时行动播放的问题

这个问题困扰了我好久,IOS上传了两个游戏都还存在这个问题,在搜索时看到别人的代码有这样,自己试了一下,原来答案就这么简单:就是在开始中把这个开关关闭即可。看下面的代码。