NGUI研究之开发项目的一些使用心得比較细节
不知不觉使用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 像这样和下图所出现的尺寸数值一样的比例才行。
举个样例,比方美术给你出了一张960X640的图片,此时你直接放在程序中,NGUI会自己主动将这张图片拉伸。
所以你须要让美术把这张960X640的图片放在1024X1024 尺寸的图中给你,这样图片就不会拉伸了,例如以下图所看到的。就好像这样。这张图的尺寸是 1024X1024 可是程序中通过精灵分割的仅仅是 960X640这部分,所以这个图就不会在iPhone或Android中拉伸。
" src="http://www.cgzhw.com/wp-content/uploads/2014/07/248.png">
接着是材质,对材质着色器的选择也有一点要求.例如以下图所看到的,请选择你的材质着色器为Unlit/Transparent Colored 假设你选择的不是它将会造成你的UI无法显示背景透明的图片喔。
2.精灵预设或者字体预设
在导航栏中创建用NGUI创建一个新UI后。而且在Project视图中已经创建了精灵预设和字体预设后。然后在Panel(面板)中创建新部件时。例如以下图所看到的。点击Atlas 或 Font后假设发现找不到相应的预设。不要紧张事实上非常easy。仅仅需你将Project视图中的精灵或字体预设先拖拽至Hierarchy视图中,此时在又一次点击创建新部件。然后在点击Atlas或Font就会出现你须要的精灵或字体预设。
选择完成再将Hierarchy视图中拖拽的预设删掉就可以。 对于不论什么一个新精灵预设或字体预设都要用一次这个方案。再次使用就不会出现这个问题。
(补充,引用评论中的一句,鼠标在Project视图中点一下就能够 感谢回复~~)
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研究之开发项目的一些使用心得比較细节的更多相关文章
- NGUI研究之在Unity中使用贝塞尔曲线
鼎鼎大名的贝塞尔曲线相信大家都耳熟能详.这两天由于工作的原因须要将贝塞尔曲线加在project中.那么我迅速的研究了一下成果就分享给大家了哦.贝塞尔曲线的原理是由两个点构成的随意角度的曲线,这两个点一 ...
- 《IT蓝豹》挑战独立开发项目能力
做了5年的android开发,今天没事写写刚入行不久的时候第一次独立开发项目的心得体会, 当时我刚工作8个月,由于公司运营不善倒闭了,在2011年3月份我开始准备跳槽, 看了一周andro ...
- NGUI研究之制作转圈的技能CD特效
昨天想做一个技能CD转圈的特效,花了大把的时间去用meshRender组件想通过三角形依据数学算法来绘制一个圆形的网格.通过动态绘制圆形网格的方法来实现技能CD特效.奶奶的昨天我研究了一晚上,最 ...
- 跟我开发NSP(网上查询平台):如何选择开发项目
我想通过一个真实的项目开发的全过程,记录一下开发过程的点点滴滴,记录一下过程中的前思后想.这个全过程包括,如何选择项目.如何分析项目.如何组织项目开发.如何设计开发流程.如何设计软件的总体架构.如何建 ...
- AOP在大规模软件开发项目中的应用(图)
AOP在大规模软件开发项目中的应用(图) 本文的写作源于一个真实的大型软件开发项目,我们努力尝试在这个项目中推广应用AOP.在此我们将对曾经面临过的一些实际问题与困难进行分析,试图引发关于面向方面软件 ...
- 《ASP.NET Core应用开发入门教程》与《ASP.NET Core 应用开发项目实战》正式出版
“全书之写印,实系初稿.有时公私琐务猬集,每写一句,三搁其笔:有时兴会淋漓,走笔疾书,絮絮不休:有时意趣萧索,执笔木坐,草草而止.每写一段,自助覆阅,辄摇其首,觉有大不妥者,即贴补重书,故剪刀浆糊乃不 ...
- 前端 go.js 流程图基于vue开发项目案例
一.流程图效果 最近一段时间在研究go.js,它是一款前端开发画流程图的一个插件,也是一个难点,要说为什么是难点,首先,它是依赖画布canvas知识开发.其次,要依赖于内部API开发需求,开发项目需求 ...
- 承接 AutoCAD 二次开发 项目
本人有多年的CAD开发经验,独立完成多个CAD二次开发项目.熟悉.net及Asp.net开发技术,和Lisp开发技术. 现在成立了工作室,独立承接CAD二次开发项目.结项后提供源码及开发文档,有需要的 ...
- tornado web高级开发项目之抽屉官网的页面登陆验证、form验证、点赞、评论、文章分页处理、发送邮箱验证码、登陆验证码、注册、发布文章、上传图片
本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tornado的后端和ajax的 ...
随机推荐
- shell 键盘录入和运算
一.read 命令,从键盘读入数据,赋给变量 1.脚本代码 #!/bin/sh read arg1 arg2 echo "第一个参数: $arg1" echo "第二个参 ...
- WinServer-IIS-woff字体不显示问题
ASP.NET mvc发布到IIS之后,访问网站的时候,发现woff字体没有加载 百度发现很多博客上的教程是这样的,在IIS管理器中的MIME选项中添加类型 但是重新使用IIS发布后,新添加的字体就会 ...
- POJ——T1679 The Unique MST
http://poj.org/problem?id=1679 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 30120 ...
- 疯狂Java学习笔记(70)-----------挚爱Java
与大家分享! 挚爱Java 10个使用Java最广泛的现实领域 写好Java代码的30条经验总结 Java字符串的substring真的会引起内存泄露么? Java内存的原型及工作原理深度剖析 Jav ...
- Android之——自己定义TextView
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47082241 在这一篇博文中,将向大家介绍怎样以最简单的方式,来自己定义Andro ...
- sqlite学习笔记9:C语言中使用sqlite之插入数据
前面创建了一张表,如今给他插入一些数据.插入数据跟创建表差点儿相同,不过SQL语言不一样而已,完整代码例如以下: #include <stdio.h> #include <stdli ...
- Maximum Bipartite Matching
算法旨在用尽可能简单的思路解决这个问题.理解算法也应该是一个越看越简单的过程,当你看到算法里的一串概念,或者一大坨代码,第一感觉是复杂,此时最好还是从样例入手.通过一个简单的样例,并编程实现,这个过程 ...
- 【LDA】动手实现LDA
这段时间对LDA比較感兴趣,尝试在工作中使用它.平时做想法的高速验证,都用的是"GibbsLDA++-0.2",一个c实现版本号的LDA. 这两天用c++ stl自己写了一个单机版 ...
- Testbench代码设计技巧
Testbench代码设计技巧 " There are many ways " to code a test case, it all depens on the creativi ...
- iOS声明变量详解
内容概述: 本文主要讲述了ios中多种声明变量方式的区别与联系,以及@interface声明的成员变量与@property属性的差异.最后介绍了推荐的声明方式. atany原创,转载请注明博主与博文链 ...