不知不觉使用NGI插件已经有一段时间了。感觉NGUI真的是眼下Unity3D中最好用的UI插件。

可是它也有一些不是BUG的BUG,这些问题可能会让新人摸不着头脑,那么这篇文章将总结一下这段时间用NGUI的一些开发心得。这些也好几个朋友问题我的一些问题,我将这些东西列出来。 上一章我们学习了

p=821" rel="bookmark">NGUI研究之自制Scroll
View实现触摸滚动相冊效果
不明确的同学能够去看看。

1.对图片的限制

假设是移动平台中iPhone 或Android请保持的你的图片尺寸在小于等于1024 X 1024 ,否则加载的图片将无法显示。绘制图片的地方会是一片黑漆漆的东西,PC平台的话图片最大使用的尺寸是4096X4096 。

注意。这还没完、例如以下图所看到的,不管在不论什么平台中请保持你的图片宽或高的尺寸和下图中的一样。比方 32X32 、32X64 、 128 X 32、 1024 X519、 1024 X1024、 512 X 32 像这样和下图所出现的尺寸数值一样的比例才行。 

" class="size-full wp-image-827 aligncenter" alt="NGUI研究之开发项目的一些使用心得比較细节(五) - 第1张 | 成功智慧网-专注游戏编程开发!" src="http://www.cgzhw.com/wp-content/uploads/2014/07/157.png">

举个样例,比方美术给你出了一张960X640的图片,此时你直接放在程序中,NGUI会自己主动将这张图片拉伸。

所以你须要让美术把这张960X640的图片放在1024X1024 尺寸的图中给你,这样图片就不会拉伸了,例如以下图所看到的。就好像这样。这张图的尺寸是 1024X1024 可是程序中通过精灵分割的仅仅是 960X640这部分,所以这个图就不会在iPhone或Android中拉伸。

" src="http://www.cgzhw.com/wp-content/uploads/2014/07/248.png">

接着是材质,对材质着色器的选择也有一点要求.例如以下图所看到的,请选择你的材质着色器为Unlit/Transparent Colored  假设你选择的不是它将会造成你的UI无法显示背景透明的图片喔。

" class="size-full wp-image-829 aligncenter" alt="NGUI研究之开发项目的一些使用心得比較细节(五) - 第3张 | 成功智慧网-专注游戏编程开发!" src="http://www.cgzhw.com/wp-content/uploads/2014/07/335.png">

 2.精灵预设或者字体预设

在导航栏中创建用NGUI创建一个新UI后。而且在Project视图中已经创建了精灵预设和字体预设后。然后在Panel(面板)中创建新部件时。例如以下图所看到的。点击Atlas 或 Font后假设发现找不到相应的预设。不要紧张事实上非常easy。仅仅需你将Project视图中的精灵或字体预设先拖拽至Hierarchy视图中,此时在又一次点击创建新部件。然后在点击Atlas或Font就会出现你须要的精灵或字体预设。

选择完成再将Hierarchy视图中拖拽的预设删掉就可以。 对于不论什么一个新精灵预设或字体预设都要用一次这个方案。再次使用就不会出现这个问题。

(补充,引用评论中的一句,鼠标在Project视图中点一下就能够  感谢回复~~)

" class="size-full wp-image-830 aligncenter" alt="NGUI研究之开发项目的一些使用心得比較细节(五) - 第4张 | 成功智慧网-专注游戏编程开发!

" src="http://www.cgzhw.com/wp-content/uploads/2014/07/422.png" style="">

3.在3D世界之上创建你的UI。

比方3D游戏中界面中选择技能、物品、人物状态等的一些UI。

这些UI不会以因主角移动而发生位置的改变,而且永远出如今界面最前面。

例如以下图所看到的。把你游戏世界中原本的摄像机放在UI Root (2D)以下,而且让全部的UI都是这个Camera的子类,这么做是为了解决摄像机发生移动后全部的UI也能和他保持原本的距离关系,至于其他的3D游戏对象请保持与UI Root (2D) 为同级关系就可以。

由于须要显示3D物体,请设置你的摄像机Projection为Perspective。

" src="http://www.cgzhw.com/wp-content/uploads/2014/07/512.png">

4.Scroll View列表的显示区域

怎样改动Scroll View列表的显示区域。

这个问题我记得有好几个朋友都问过我。我认为这个问题是NGUI的一个BUG。 可是我们使用第二种方式能够非常好的解决问题。那么和大家说说我的开发心得。

例如以下图所看到的,在这里能够改动ScrollView中总体的显示区域,可是请注意这里紧紧是改动它的显示区域。,由于之前设定在ScrollView中的item的位置是不会由于scrollView显示区域的改动而改动。建议改动ScrolleView显示的宽 和高 在这里改动。可是显示的X Y轴坐标就不要在这里改了。由于改了也没用。

假设你要改动Scroll View显示X Y轴坐标的话,例如以下图所看到的,直接在Hierarchy视图中选择ScrollView显示的父面板对象。然后在Scene视图中更改这个对象的XYZ坐标就可以。这样相应下方全部的ScrollView 的item也会跟着改动。继而达到完美改动NGUI ScrollView的显示区域喔。

" src="http://www.cgzhw.com/wp-content/uploads/2014/07/76.png">

最后,这篇文章也没什么代码,只是希望能给一些刚刚入门NGUI的朋友一些帮助。

NGUI研究之开发项目的一些使用心得比較细节的更多相关文章

  1. NGUI研究之在Unity中使用贝塞尔曲线

    鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天由于工作的原因须要将贝塞尔曲线加在project中.那么我迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的随意角度的曲线,这两个点一 ...

  2. 《IT蓝豹》挑战独立开发项目能力

    做了5年的android开发,今天没事写写刚入行不久的时候第一次独立开发项目的心得体会,    当时我刚工作8个月,由于公司运营不善倒闭了,在2011年3月份我开始准备跳槽,    看了一周andro ...

  3. NGUI研究之制作转圈的技能CD特效

     昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形依据数学算法来绘制一个圆形的网格.通过动态绘制圆形网格的方法来实现技能CD特效.奶奶的昨天我研究了一晚上,最 ...

  4. 跟我开发NSP(网上查询平台):如何选择开发项目

    我想通过一个真实的项目开发的全过程,记录一下开发过程的点点滴滴,记录一下过程中的前思后想.这个全过程包括,如何选择项目.如何分析项目.如何组织项目开发.如何设计开发流程.如何设计软件的总体架构.如何建 ...

  5. AOP在大规模软件开发项目中的应用(图)

    AOP在大规模软件开发项目中的应用(图) 本文的写作源于一个真实的大型软件开发项目,我们努力尝试在这个项目中推广应用AOP.在此我们将对曾经面临过的一些实际问题与困难进行分析,试图引发关于面向方面软件 ...

  6. 《ASP.NET Core应用开发入门教程》与《ASP.NET Core 应用开发项目实战》正式出版

    “全书之写印,实系初稿.有时公私琐务猬集,每写一句,三搁其笔:有时兴会淋漓,走笔疾书,絮絮不休:有时意趣萧索,执笔木坐,草草而止.每写一段,自助覆阅,辄摇其首,觉有大不妥者,即贴补重书,故剪刀浆糊乃不 ...

  7. 前端 go.js 流程图基于vue开发项目案例

    一.流程图效果 最近一段时间在研究go.js,它是一款前端开发画流程图的一个插件,也是一个难点,要说为什么是难点,首先,它是依赖画布canvas知识开发.其次,要依赖于内部API开发需求,开发项目需求 ...

  8. 承接 AutoCAD 二次开发 项目

    本人有多年的CAD开发经验,独立完成多个CAD二次开发项目.熟悉.net及Asp.net开发技术,和Lisp开发技术. 现在成立了工作室,独立承接CAD二次开发项目.结项后提供源码及开发文档,有需要的 ...

  9. tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...

随机推荐

  1. WinServer-IIS-Dynamic IP Restrictions

    动态IP限制 来自为知笔记(Wiz)

  2. 零基础学HTML 5实战开发(第一季)

    開始学习html5了.趋势不得不学习啊,之前老毛说过落后就要挨打,如今是不学习就要被市场淘汰,被社会淘汰.喜欢挑战,喜欢冒险.来吧.csdn给我们提供了那么好的平台.用起来..零基础学HTML 5的实 ...

  3. node.js mongodb ReplSet

    随着web2.0兴起,高并发大数据量的应用对数据库高速响应的性能要求日趋明显,传统的关系型数据库在这方面显得有些乏力.有矛自有盾,内存DB的出现弥补了传统关系型db的不足.眼下市面流行的内存db主要有 ...

  4. UnityShader实例13:屏幕特效之均值模糊(Box Blur)

    均值模糊(Box Blur) 概述 因为公司手游项目需求.须要一个适合手机平台的模糊效果,同一时候须要开放一个參数便于调节模糊值.我首先想到的就是ps里面的均值模糊. 查资料能够知道均值模糊是一种高速 ...

  5. SQL语句将某字段查询出以逗号隔开

    MySQL的sql语句有好多能够省去server端的复杂处理 1.group_concat 这玩意儿能够实现  将一个字段如id查询出来   成为这种格式:121,122,123,124,125,12 ...

  6. hdu1281 棋盘游戏 --- 最大匹配

    给一个矩形棋盘,上面有一些空格点,能够放象棋中的"车", 现给出空格的坐标,求最多能够放多少个"车"使他们互不攻击(依据象棋规则,每行每列至多仅仅能放一个), ...

  7. java结合jQuery.ajax实现左右菜单联动刷新列表内容

    http://域名/一级菜单ID-二级菜单ID/ 用这种URL请求页面,出现如图所看到的内容: 该页面包括四部分,顶部文件夹+左側菜单+右側菜单+右下側数据列表. 左側菜单包括一级菜单和二级菜单,点击 ...

  8. legend---十一、thinkphp事务中if($ans1&&$ans2){}else{}方式和try{}catch{}方式事务操作的区别在哪里

    legend---十一.thinkphp事务中if($ans1&&$ans2){}else{}方式和try{}catch{}方式事务操作的区别在哪里 一.总结 一句话总结:执行的条件其 ...

  9. Install Rails on ubuntu 12.04 LTS

    There are basically there ways to install Rails development environment on your ubuntu linux system, ...

  10. [jzoj 5177] [NOIP2017提高组模拟6.28] TRAVEL 解题报告 (二分)

    题目链接: https://jzoj.net/senior/#main/show/5177 题目: 题解: 首先选出的泡泡怪一定是连续的一段 L,R 然后 L 一定属于虫洞左边界中的某一个 R 也同样 ...