unity3D总结的一些细节,不注意有些要折腾非常多天!

本文分享了使用Unity和NGUI进行游戏开发时遇到的一些关键问题及解决方案,包括PS图片导入Unity的注意事项、NGUI popuplist使用技巧、资源加载与实例化方法、NGUI grid与table组件显示问题以及事件系统的兼容性等。

1. 注意!!ps保存图片时,若保存为ps格式,若关闭最大兼容将会导致unity导入失败!(n天)

2.switch 推断NGUI popuplist传来的value字符串时一定要trim一下去掉空格!

3. 获取子物体时,方法不同得到的结果不同!

foreach(Transform tr in transform) 返回的是下一级子物体,通俗点就是“儿子”。

Transform []  allModel = GetComponentsInChildren<Transform>(); 返回的是全部层级子物体,包含儿子、孙子、重孙...

4.注意resources.load和Instantiate方法后面都要用到as,由于他们一个是Object类型,一个是泛型!

GameObject o =Resources.Load("Machine_Small/" + str) as GameObject;
GameObject temp = Instantiate(o) as GameObject;



5.NGUI 的grid 和table组件没有详细形状,在场景中看不到实际大小,解决的方法:再加一个widget组件
6.NGUI3.X版本号以上,事件系统要注意:
有的要用到新的事件系统,比方OnChange:
EventDelegate.Add(voiceVolume.onChange,delegate (){
            Globle.voiceVolume = UISlider.current.value;
            Debug.Log(Globle.voiceVolume);
        });
有的要用老的,如OnDragFinished:
bkMisicVolume.onDragFinished  = showMessage;
void showMessage()
    {
        //Globle.bkMusicVolume = UISlider.current.value;
        Debug.Log(bkMisicVolume.value);
    }
7.NGUI 的 UICamera.eventReceiverMask的值,设为0,不接受不论什么事件,设为-1,生效


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值